3 new revisions:
Revision: e23b900147ab
Author: Kevin Wells <
DarkOp...@gmail.com>
Date: Wed Apr 20 01:14:58 2011
Log: Flying items now get a momentum damage bonus when they hit
something.
http://code.google.com/p/escape-from-the-masters-lair/source/detail?r=e23b900147ab
Revision: 771c91813812
Author: Kevin Wells <
DarkOp...@gmail.com>
Date: Wed Apr 20 02:37:11 2011
Log: Creatures are now properly penalized for wielding melee items
under st...
http://code.google.com/p/escape-from-the-masters-lair/source/detail?r=771c91813812
Revision: 7ee4e5b2d5d7
Author: Kevin Wells <
DarkOp...@gmail.com>
Date: Wed Apr 20 03:13:44 2011
Log: Nothing much.
http://code.google.com/p/escape-from-the-masters-lair/source/detail?r=7ee4e5b2d5d7
==============================================================================
Revision: e23b900147ab
Author: Kevin Wells <
DarkOp...@gmail.com>
Date: Wed Apr 20 01:14:58 2011
Log: Flying items now get a momentum damage bonus when they hit
something.
http://code.google.com/p/escape-from-the-masters-lair/source/detail?r=e23b900147ab
Modified:
/Development/Attributes.rtf
/Development/Ideas.rtf
/Development/Level Themes.rtf
/Development/To Do.rtf
/Escape from the Master's Lair.layout
/Escape from the Master's Lair.layout.save
/creature_combat.cpp
/item_combat.cpp
=======================================
--- /Development/Attributes.rtf Fri Apr 15 17:29:18 2011
+++ /Development/Attributes.rtf Wed Apr 20 01:14:58 2011
@@ -15,7 +15,7 @@
\strike Creatures have a vector of statuses. When they walk through water
or otherwise have water on them, they become wet.\par
They dry out at some rate (perhaps each dungeon level should have a
temperature that affects this?).\strike0\par
\par
-There are no classes. You do get a class name, but it is determined by
your attributes and skills, and is just descriptive.\par
+\strike There are no classes. You do get a class name, but it is
determined by your attributes and skills, and is just
descriptive.\strike0\par
\strike Instead of choosing a class at the beginning of the game, you
choose what skills to focus on.\strike0\par
\strike All skills and attributes start at pretty low defaults, which are
the same every game (so no point in start-scumming). When you choose your
focus, your focused skills increase a bit.\strike0\par
\strike Focused skills increase a little faster than regular
ones.\strike0\par
@@ -42,9 +42,11 @@
There should be some things that can give penalties to offensive and
defensive actions, as well.\par
For offensive, wielding a weapon you shouldn't be gives a pretty big
damage reduction.\par
You must have enough strength to wield a given item, or you will fail to
use it in some way (straight up can't attack, damage reduction, etc.)\par
+If a creature attacks with one weapon that is too heavy, his total damage
that attack will be cut in half. If it uses two weapons that are too heavy,
the damage is cut to a fourth. Also, weapon skills are not improved when
wielding a weapon that is too heavy.\par
+All items need a strength requirement. This should be able to be
calculated by the game during the course of the game as it is needed.
Probably just the item's weight will be needed. If a creature meets the
strength requirement for an item, it can do standard melee damage with the
item. If the creature does not meet the requirement, damage will be
affected as detailed above.\par
If you wear armor you shouldn't wear, it will give a reduction to movement
speed, chance to hit, chance to dodge, and chance to crit.\par
If you wear non-magic user armor, you will suffer a penalty to magic
damage.\par
-If a creature attacks with one weapon that is too heavy, his total damage
that attack will be cut in half. If it uses two weapons that are too heavy,
the damage is cut to a fourth. Also, weapon skills are not improved when
wielding a weapon that is too heavy.\par
+\strike An item's momentum should probably figure into its damage
calculations.\strike0\par
\par
\strike Each time you level up, you gain max health and max
mana.\strike0\par
\par
=======================================
--- /Development/Ideas.rtf Fri Apr 15 17:29:18 2011
+++ /Development/Ideas.rtf Wed Apr 20 01:14:58 2011
@@ -3,5 +3,6 @@
It might be a good idea to implement an autosaving feature, in case of a
crash or something. The game could autosave whenever the level changes.\par
I need to add monsters spawning over time. Also, dark-spawning
monsters.\par
Maybe monsters initially spawned on a level should be determined by the
dungeon level, but monsters spawned later on a given level are determined
by the player's current experience level.\par
+I think I should add a special new equipment slot for a launcher item. It
could work similarly to armor, in that ONLY launcher items can go in it.
This way, you could have a launcher item equipped while also dual-wielding
or single-wielding decent melee items. Right now, if you want melee and
ranged attacks ready, you have to have a melee and launcher item equipped
in the hand slots. But, this means that the launcher weapon is figured into
melee attacks.\par
}
=======================================
--- /Development/Level Themes.rtf Fri Apr 15 03:31:13 2011
+++ /Development/Level Themes.rtf Wed Apr 20 01:14:58 2011
@@ -3,16 +3,16 @@
For each level theme, there can be variations.\par
\par
\ul\b Variations:\ulnone\b0\par
-Watery\par
+\strike Watery\par
Lava\par
Frozen (freezable things such as water are frozen)\par
-Icy (Everything is covered in ice)\par
+Icy (Everything is covered in ice)\strike0\par
\par
\ul\b Themes:\ulnone\b0\par
-All rectangular rooms\par
+\strike All rectangular rooms\par
All circular rooms\par
Rectangular and circular rooms\par
Cave\par
-One huge room (maybe varying shapes)\par
+One huge room\strike0\par
}
=======================================
--- /Development/To Do.rtf Tue Apr 19 22:46:05 2011
+++ /Development/To Do.rtf Wed Apr 20 01:14:58 2011
@@ -1,5 +1,7 @@
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
-{\*\generator Msftedit
5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl240\slmult1\lang9\f0\fs22 AFTER
BRANCH:\par
+{\*\generator Msftedit
5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl240\slmult1\lang9\f0\fs22 Cut
fighting and dodging skills out of the code entirely.\par
+\par
+AFTER BRANCH:\par
-Clean up the focused skills selection window. Letters should be in proper
order. All in one column.\par
-Stats screen, all skills should be in one column.\strike\par
}
=======================================
--- /Escape from the Master's Lair.layout Tue Apr 19 12:07:59 2011
+++ /Escape from the Master's Lair.layout Wed Apr 20 01:14:58 2011
@@ -38,10 +38,10 @@
<Cursor1 position="325" topLine="0" />
</File>
<File name="creature.cpp" open="0" top="0" tabpos="4" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="379" topLine="0" />
+ <Cursor1 position="3107" topLine="43" />
</File>
<File name="creature.h" open="0" top="0" tabpos="4" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="12258" topLine="325" />
+ <Cursor1 position="2982" topLine="104" />
</File>
<File name="creature_alchemy.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3400" topLine="48" />
@@ -74,7 +74,7 @@
<Cursor1 position="198" topLine="0" />
</File>
<File name="dungeon_generation.cpp" open="0" top="0" tabpos="6" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="29204" topLine="753" />
+ <Cursor1 position="30466" topLine="784" />
</File>
<File name="dungeon_location.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="235" topLine="0" />
@@ -152,10 +152,10 @@
<Cursor1 position="3653" topLine="162" />
</File>
<File name="item_template.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="255" topLine="0" />
+ <Cursor1 position="261" topLine="0" />
</File>
<File name="item_template.h" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="460" topLine="0" />
+ <Cursor1 position="407" topLine="0" />
</File>
<File name="level.cpp" open="0" top="0" tabpos="6" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="2385" topLine="185" />
@@ -215,16 +215,16 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="player.cpp" open="0" top="0" tabpos="6" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="297" topLine="0" />
+ <Cursor1 position="1830" topLine="65" />
</File>
<File name="player.h" open="0" top="0" tabpos="7" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="3968" topLine="130" />
+ <Cursor1 position="2128" topLine="76" />
</File>
<File name="player_scores.cpp" open="0" top="0" tabpos="5" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="6880" topLine="222" />
</File>
<File name="player_start.cpp" open="1" top="1" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="183" topLine="36" />
+ <Cursor1 position="6398" topLine="192" />
</File>
<File name="player_windows.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="279" topLine="0" />
@@ -275,7 +275,7 @@
<Cursor1 position="242" topLine="0" />
</File>
<File name="templates.cpp" open="0" top="0" tabpos="2" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="21479" topLine="125" />
+ <Cursor1 position="4989" topLine="125" />
</File>
<File name="templates.h" open="0" top="0" tabpos="1" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="2465" topLine="70" />
=======================================
--- /Escape from the Master's Lair.layout.save Tue Apr 19 22:46:05 2011
+++ /Escape from the Master's Lair.layout.save Wed Apr 20 01:14:58 2011
@@ -41,7 +41,7 @@
<Cursor1 position="3107" topLine="43" />
</File>
<File name="creature.h" open="0" top="0" tabpos="4" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="2982" topLine="104" />
+ <Cursor1 position="12111" topLine="317" />
</File>
<File name="creature_alchemy.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3400" topLine="48" />
@@ -49,14 +49,14 @@
<File name="creature_attributes.cpp" open="0" top="0" tabpos="0"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="1460" topLine="36" />
</File>
- <File name="creature_combat.cpp" open="0" top="0" tabpos="3" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
+ <File name="creature_combat.cpp" open="1" top="1" tabpos="3" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="18168" topLine="400" />
</File>
<File name="creature_commands.cpp" open="0" top="0" tabpos="4" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="46523" topLine="1669" />
+ <Cursor1 position="10188" topLine="295" />
</File>
<File name="creature_equipment.cpp" open="0" top="0" tabpos="5" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="1187" topLine="18" />
+ <Cursor1 position="1143" topLine="174" />
</File>
<File name="creature_experience.cpp" open="0" top="0" tabpos="1"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3573" topLine="79" />
@@ -146,7 +146,7 @@
<Cursor1 position="6386" topLine="6" />
</File>
<File name="item_combat.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="358" topLine="0" />
+ <Cursor1 position="9606" topLine="72" />
</File>
<File name="item_save_load.cpp" open="0" top="0" tabpos="14" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3653" topLine="162" />
@@ -215,7 +215,7 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="player.cpp" open="0" top="0" tabpos="6" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="6773" topLine="209" />
+ <Cursor1 position="1830" topLine="65" />
</File>
<File name="player.h" open="0" top="0" tabpos="7" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="2128" topLine="76" />
@@ -223,8 +223,8 @@
<File name="player_scores.cpp" open="0" top="0" tabpos="5" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="6880" topLine="222" />
</File>
- <File name="player_start.cpp" open="1" top="1" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="183" topLine="36" />
+ <File name="player_start.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
+ <Cursor1 position="6398" topLine="192" />
</File>
<File name="player_windows.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="279" topLine="0" />
=======================================
--- /creature_combat.cpp Mon Apr 18 18:50:18 2011
+++ /creature_combat.cpp Wed Apr 20 01:14:58 2011
@@ -82,6 +82,9 @@
//Add in melee weapon damage.
+ //Remember how many weapons are being wielded that the
creature has insufficient strength to wield properly.
+ int weapons_under_strength=0;
+
//Check for items wielded in either hand.
for(int i=EQUIP_HOLD_RIGHT;i<EQUIP_HOLD_LEFT+1;i++){
//If there is an item wielded in this hand.
@@ -111,6 +114,11 @@
//Add the weapon's damage to the attack's damage.
damage+=weapon_damage;
+
+ //If the creature does not have sufficient strength to
wield this item.
+ if(){
+ weapons_under_strength++;
+ }
}
}
=======================================
--- /item_combat.cpp Sun Apr 17 01:59:21 2011
+++ /item_combat.cpp Wed Apr 20 01:14:58 2011
@@ -90,6 +90,9 @@
damage=base_damage;
+ //Add the momentum bonus.
+ damage+=momentum*2.0;
+
//Add the racial base thrown damage modifier.
//If the race has a thrown damage bonus.
@@ -252,6 +255,9 @@
damage=base_damage;
+ //Add the momentum bonus.
+ damage+=momentum*2.0;
+
//Add the racial base ranged damage modifier.
//If the race has a ranged damage bonus.
==============================================================================
Revision: 771c91813812
Author: Kevin Wells <
DarkOp...@gmail.com>
Date: Wed Apr 20 02:37:11 2011
Log: Creatures are now properly penalized for wielding melee items
under strength. Armor weight now affects movement speed. The armor skill
affects this effect.
http://code.google.com/p/escape-from-the-masters-lair/source/detail?r=771c91813812
Modified:
/Development/Attributes.rtf
/Development/Items.rtf
/Escape from the Master's Lair.layout.save
/combat_all.cpp
/creature_combat.cpp
/creature_other_stats.cpp
/data/templates/drinks
/player_start.cpp
/player_windows.cpp
/templates.cpp
/update.cpp
/version.h
=======================================
--- /Development/Attributes.rtf Wed Apr 20 01:14:58 2011
+++ /Development/Attributes.rtf Wed Apr 20 02:37:11 2011
@@ -39,12 +39,12 @@
\par
\cf1\strike Attributes, skills, etc., should be doubles, and can increase
by a decimal amount. UPDATE: I think I am changing them back to simple
shorts.\cf0\strike0\par
\par
-There should be some things that can give penalties to offensive and
defensive actions, as well.\par
-For offensive, wielding a weapon you shouldn't be gives a pretty big
damage reduction.\par
-You must have enough strength to wield a given item, or you will fail to
use it in some way (straight up can't attack, damage reduction, etc.)\par
-If a creature attacks with one weapon that is too heavy, his total damage
that attack will be cut in half. If it uses two weapons that are too heavy,
the damage is cut to a fourth. Also, weapon skills are not improved when
wielding a weapon that is too heavy.\par
-All items need a strength requirement. This should be able to be
calculated by the game during the course of the game as it is needed.
Probably just the item's weight will be needed. If a creature meets the
strength requirement for an item, it can do standard melee damage with the
item. If the creature does not meet the requirement, damage will be
affected as detailed above.\par
-If you wear armor you shouldn't wear, it will give a reduction to movement
speed, chance to hit, chance to dodge, and chance to crit.\par
+\strike There should be some things that can give penalties to offensive
and defensive actions, as well.\strike0\par
+\strike For offensive, wielding a weapon you shouldn't be gives a pretty
big damage reduction.\par
+You must have enough strength to wield a given item, or you will fail to
use it in some way (straight up can't attack, damage reduction,
etc.)\strike0\par
+\strike If a creature attacks with one weapon that is too heavy, his total
damage that attack will be cut in half. If it uses two weapons that are too
heavy, the damage is cut to a fourth. Also, weapon skills are not improved
when wielding a weapon that is too heavy.\strike0\par
+\strike All items need a strength requirement. This should be able to be
calculated by the game during the course of the game as it is needed.
Probably just the item's weight will be needed. If a creature meets the
strength requirement for an item, it can do standard melee damage with the
item. If the creature does not meet the requirement, damage will be
affected as detailed above.\strike0\par
+\strike If you wear armor you shouldn't wear, it will give a reduction to
movement speed.\strike0\par
If you wear non-magic user armor, you will suffer a penalty to magic
damage.\par
\strike An item's momentum should probably figure into its damage
calculations.\strike0\par
\par
=======================================
--- /Development/Items.rtf Sun Apr 17 01:59:21 2011
+++ /Development/Items.rtf Wed Apr 20 02:37:11 2011
@@ -4,8 +4,8 @@
\strike Armor can only be worn. All other items can only be wielded.\par
Only non-stackable items can be equipped. UPDATE: This is not always
true.\strike0\par
\par
-Heavier armor carries penalties to some things, which can be offset by a
higher armor skill.\par
-Heavy armor penalties (these penalties can grow steeper with increasingly
heavy armor) - decreased movement_speed, hinders spellcasting\par
+\strike Heavier armor carries penalties to some things, which can be
offset by a higher armor skill.\strike0\par
+\strike Heavy armor penalties (these penalties can grow steeper with
increasingly heavy armor) - decreased movement_speed\strike0 , hinders
spellcasting\par
\par
To find item weight, multiply size by specific gravity and divide by 2.\par
To find armor defense, multiply size by toughness and divide by 8.\par
=======================================
--- /Escape from the Master's Lair.layout.save Wed Apr 20 01:14:58 2011
+++ /Escape from the Master's Lair.layout.save Wed Apr 20 02:37:11 2011
@@ -20,7 +20,7 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="combat_all.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="307" topLine="0" />
+ <Cursor1 position="17" topLine="0" />
</File>
<File name="combat_all.h" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="199" topLine="0" />
@@ -41,7 +41,7 @@
<Cursor1 position="3107" topLine="43" />
</File>
<File name="creature.h" open="0" top="0" tabpos="4" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="12111" topLine="317" />
+ <Cursor1 position="10091" topLine="285" />
</File>
<File name="creature_alchemy.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3400" topLine="48" />
@@ -49,8 +49,8 @@
<File name="creature_attributes.cpp" open="0" top="0" tabpos="0"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="1460" topLine="36" />
</File>
- <File name="creature_combat.cpp" open="1" top="1" tabpos="3" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="18168" topLine="400" />
+ <File name="creature_combat.cpp" open="0" top="0" tabpos="3" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
+ <Cursor1 position="4878" topLine="51" />
</File>
<File name="creature_commands.cpp" open="0" top="0" tabpos="4" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="10188" topLine="295" />
@@ -61,7 +61,7 @@
<File name="creature_experience.cpp" open="0" top="0" tabpos="1"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3573" topLine="79" />
</File>
- <File name="creature_other_stats.cpp" open="0" top="0" tabpos="4"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
+ <File name="creature_other_stats.cpp" open="1" top="1" tabpos="4"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="8459" topLine="219" />
</File>
<File name="creature_save_load.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -89,7 +89,7 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="enumerations.h" open="0" top="0" tabpos="2" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="5056" topLine="276" />
+ <Cursor1 position="5639" topLine="333" />
</File>
<File name="font.cpp" open="0" top="0" tabpos="5" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="1745" topLine="48" />
@@ -191,7 +191,7 @@
<Cursor1 position="255" topLine="0" />
</File>
<File name="monster.cpp" open="0" top="0" tabpos="3" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="4120" topLine="83" />
+ <Cursor1 position="4120" topLine="396" />
</File>
<File name="monster.h" open="0" top="0" tabpos="3" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="1103" topLine="27" />
@@ -224,10 +224,10 @@
<Cursor1 position="6880" topLine="222" />
</File>
<File name="player_start.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="6398" topLine="192" />
+ <Cursor1 position="6914" topLine="217" />
</File>
<File name="player_windows.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="279" topLine="0" />
+ <Cursor1 position="49121" topLine="1296" />
</File>
<File name="quit.cpp" open="0" top="0" tabpos="0" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="963" topLine="21" />
@@ -275,7 +275,7 @@
<Cursor1 position="242" topLine="0" />
</File>
<File name="templates.cpp" open="0" top="0" tabpos="2" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="4989" topLine="125" />
+ <Cursor1 position="2212" topLine="35" />
</File>
<File name="templates.h" open="0" top="0" tabpos="1" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="2465" topLine="70" />
@@ -305,7 +305,7 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="update.cpp" open="0" top="0" tabpos="2" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="182" topLine="0" />
+ <Cursor1 position="13328" topLine="297" />
</File>
<File name="update.h" open="0" top="0" tabpos="11" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="249" topLine="0" />
=======================================
--- /combat_all.cpp Fri Apr 15 23:09:58 2011
+++ /combat_all.cpp Wed Apr 20 02:37:11 2011
@@ -13,7 +13,9 @@
//Exercise the target's armor skill.
int points_gained=1;
+
double inventory_weight=target->return_inventory_weight(ITEM_ARMOR);
+
//Apply the encumbrance bonus to the armor skill increase.
points_gained+=inventory_weight/75.0;
target->gain_skill_experience(SKILL_ARMOR,points_gained);
=======================================
--- /creature_combat.cpp Wed Apr 20 01:14:58 2011
+++ /creature_combat.cpp Wed Apr 20 02:37:11 2011
@@ -15,47 +15,6 @@
int damage=0;
string outcome="";
-
- //Handle the attacker's skill gains.
-
- //Exercise the fighting skill.
- ///gain_skill_experience(SKILL_FIGHTING,1);
-
- //Check for items wielded in either hand.
- for(int i=EQUIP_HOLD_RIGHT;i<EQUIP_HOLD_LEFT+1;i++){
- //If there is an item wielded in this hand.
- if(equipment[i]!=0){
- //Determine the identifier for the item equipped in this slot.
- int item_identifier=index_of_item_in_slot(i);
-
- //If the item is governed by the bladed weapons skill.
- if(inventory[item_identifier].category==ITEM_WEAPON &&
inventory[item_identifier].governing_skill_weapon==SKILL_BLADED_WEAPONS){
- //Exercise the bladed weapons skill.
- gain_skill_experience(SKILL_BLADED_WEAPONS,1);
- }
- //If the item is governed by the blunt weapons skill.
- else if(inventory[item_identifier].category==ITEM_WEAPON &&
inventory[item_identifier].governing_skill_weapon==SKILL_BLUNT_WEAPONS){
- //Exercise the blunt weapons skill.
- gain_skill_experience(SKILL_BLUNT_WEAPONS,1);
- }
- //If the item is governed by the stabbing weapons skill.
- else if(inventory[item_identifier].category==ITEM_WEAPON &&
inventory[item_identifier].governing_skill_weapon==SKILL_STABBING_WEAPONS){
- //Exercise the stabbing weapons skill.
- gain_skill_experience(SKILL_STABBING_WEAPONS,1);
- }
- }
- }
-
- //If items are being dual-wielded.
- if(equipment[EQUIP_HOLD_RIGHT]!=0 && equipment[EQUIP_HOLD_LEFT]!=0){
- //Exercise the dual wielding skill.
- gain_skill_experience(SKILL_DUAL_WIELDING,1);
- }
- //If there are no items being wielded.
- else if(equipment[EQUIP_HOLD_RIGHT]==0 &&
equipment[EQUIP_HOLD_LEFT]==0){
- //Exercise the unarmed skill.
- gain_skill_experience(SKILL_UNARMED,1);
- }
//If the attacker succeeds its hit check.
/**if(rc_attack_hit(return_skill_fighting(),return_attribute_agility(),experience_level,target)){
@@ -96,29 +55,48 @@
int
weapon_damage_min=inventory[item_identifier].damage_min_melee;
int
weapon_damage_max=inventory[item_identifier].damage_max_melee;
int
weapon_damage=random_range(weapon_damage_min,weapon_damage_max);
+
+ //Does the creature have enough strength to wield this
item?
+ bool enough_strength=true;
+
+ //If the creature does not have sufficient strength to
wield this item.
+
if(inventory[item_identifier].weight*1.5>attributes[ATTRIBUTE_STRENGTH]){
+ weapons_under_strength++;
+ enough_strength=false;
+ }
//Apply the appropriate weapon skill, if any.
//If the item is governed by the bladed weapons skill.
if(inventory[item_identifier].category==ITEM_WEAPON &&
inventory[item_identifier].governing_skill_weapon==SKILL_BLADED_WEAPONS){
weapon_damage+=weapon_damage*(return_skill_bladed_weapons()/10.0);
+
+ if(enough_strength){
+ //Exercise the bladed weapons skill.
+ gain_skill_experience(SKILL_BLADED_WEAPONS,1);
+ }
}
//If the item is governed by the blunt weapons skill.
else
if(inventory[item_identifier].category==ITEM_WEAPON &&
inventory[item_identifier].governing_skill_weapon==SKILL_BLUNT_WEAPONS){
weapon_damage+=weapon_damage*(return_skill_blunt_weapons()/10.0);
+
+ if(enough_strength){
+ //Exercise the blunt weapons skill.
+ gain_skill_experience(SKILL_BLUNT_WEAPONS,1);
+ }
}
//If the item is governed by the stabbing weapons
skill.
else
if(inventory[item_identifier].category==ITEM_WEAPON &&
inventory[item_identifier].governing_skill_weapon==SKILL_STABBING_WEAPONS){
weapon_damage+=weapon_damage*(return_skill_stabbing_weapons()/10.0);
+
+ if(enough_strength){
+ //Exercise the stabbing weapons skill.
+
gain_skill_experience(SKILL_STABBING_WEAPONS,1);
+ }
}
//Add the weapon's damage to the attack's damage.
damage+=weapon_damage;
-
- //If the creature does not have sufficient strength to
wield this item.
- if(){
- weapons_under_strength++;
- }
}
}
@@ -132,16 +110,33 @@
else{
damage+=return_skill_dual_wielding()/2.0;
}
+
+ //As long as both weapons are being wielded with enough
strength.
+ if(weapons_under_strength==0){
+ //Exercise the dual wielding skill.
+ gain_skill_experience(SKILL_DUAL_WIELDING,1);
+ }
}
//If there are no items being wielded.
else if(equipment[EQUIP_HOLD_RIGHT]==0 &&
equipment[EQUIP_HOLD_LEFT]==0){
//Apply the unarmed weapon skill.
damage+=base_damage*(return_skill_unarmed()/10.0);
+
+ //Exercise the unarmed skill.
+ gain_skill_experience(SKILL_UNARMED,1);
}
//Apply the strength bonus.
damage+=damage*(return_attribute_strength()/4.0);
+
+ //If the creature is wielding one or more weapons under
strength, reduce its damage.
+ if(weapons_under_strength==1){
+ damage/=2.0;
+ }
+ else if(weapons_under_strength==2){
+ damage/=4.0;
+ }
//We have finished determining the maximum damage the attacker
can do.
//Now, we determine the damage reduction based on the target's
stats.
=======================================
--- /creature_other_stats.cpp Mon Apr 18 18:50:18 2011
+++ /creature_other_stats.cpp Wed Apr 20 02:37:11 2011
@@ -105,6 +105,14 @@
//Subtract the hardiness bonus.
speed-=return_attribute_hardiness()/10.0;
+ //Apply the armor weight penalty.
+ double penalty_amount=return_inventory_weight(ITEM_ARMOR)/15.0;
+ penalty_amount-=return_skill_armor();
+ if(penalty_amount<0.0){
+ penalty_amount=0.0;
+ }
+ speed+=penalty_amount;
+
//If the creature is bloated.
if(thirst<=THIRST_BLOATED){
//Being bloated causes a penalty to speed.
@@ -133,6 +141,14 @@
//Subtract the hardiness bonus.
speed-=return_attribute_hardiness()/10.0;
+ //Apply the armor weight penalty.
+ double penalty_amount=return_inventory_weight(ITEM_ARMOR)/15.0;
+ penalty_amount-=return_skill_armor();
+ if(penalty_amount<0.0){
+ penalty_amount=0.0;
+ }
+ speed+=penalty_amount;
+
//If the creature is bloated.
if(thirst<=THIRST_BLOATED){
//Being bloated causes a penalty to speed.
=======================================
--- /data/templates/drinks Mon Apr 18 18:50:18 2011
+++ /data/templates/drinks Wed Apr 20 02:37:11 2011
@@ -24,7 +24,7 @@
appearance:!
stackable:1
size:0.5
- color:glass
+ color:tan
material:glass
effect:fuel
<drink>
=======================================
--- /player_start.cpp Tue Apr 19 22:46:05 2011
+++ /player_start.cpp Wed Apr 20 02:37:11 2011
@@ -223,20 +223,32 @@
}
}
- //Determine the monetary value of the item.
- int item_value=0;
-
- item_template_data
item_template=return_item_template(available_starting_items[random_item]);
-
-
item_value=templates.template_items[item_template.category][item_template.index].monetary_value;
-
- //If we have enough money for this item.
- if(item_value<=starting_items_gold){
- //Add the purchased item.
- starting_items.push_back(random_item);
-
- //Remove the item's value from the starting gold.
- starting_items_gold-=item_value;
+ //Determine whether this item has already been purchased.
+ bool item_already_purchased=false;
+
+ for(int i=0;i<starting_items.size();i++){
+ if(random_item==starting_items[i]){
+ item_already_purchased=true;
+ break;
+ }
+ }
+
+ if(!item_already_purchased){
+ //Determine the monetary value of the item.
+ int item_value=0;
+
+ item_template_data
item_template=return_item_template(available_starting_items[random_item]);
+
+
item_value=templates.template_items[item_template.category][item_template.index].monetary_value;
+
+ //If we have enough money for this item.
+ if(item_value<=starting_items_gold){
+ //Add the purchased item.
+ starting_items.push_back(random_item);
+
+ //Remove the item's value from the starting gold.
+ starting_items_gold-=item_value;
+ }
}
}
}
=======================================
--- /player_windows.cpp Tue Apr 19 12:07:59 2011
+++ /player_windows.cpp Wed Apr 20 02:37:11 2011
@@ -1217,17 +1217,115 @@
font_small.show(5,5,msg,render_color);
- ss.clear();ss.str("");ss<<"Composed
of ";ss<<material_to_string(inventory[item_info].material);ss<<"\xA";msg=ss.str();
-
ss.clear();ss.str("");ss<<"Weighing ";ss<<inventory[item_info].weight*inventory[item_info].stack;ss<<"\xA";msg+=ss.str();
- ss.clear();ss.str("");ss<<"With a value
of ";ss<<inventory[item_info].monetary_value*inventory[item_info].stack;ss<<"\xA";msg+=ss.str();
- ss.clear();ss.str("");ss<<"Melee
damage: ";ss<<inventory[item_info].damage_min_melee;ss<<"-";ss<<inventory[item_info].damage_max_melee;ss<<"\xA";msg+=ss.str();
- ss.clear();ss.str("");ss<<"Thrown
damage: ";ss<<inventory[item_info].damage_min_thrown;ss<<"-";ss<<inventory[item_info].damage_max_thrown;ss<<"\xA";msg+=ss.str();
+ if(inventory[item_info].category!=ITEM_OTHER){
+ ss.clear();ss.str("");ss<<"This item is ";msg=ss.str();
+ if(inventory[item_info].category==ITEM_WEAPON){
+ ss.clear();ss.str("");ss<<"a weapon. It is ";msg+=ss.str();
+ if(inventory[item_info].weapon_category==WEAPON_SHORT_BLADES){
+ ss.clear();ss.str("");ss<<"a short blade";msg+=ss.str();
+ }
+ else
if(inventory[item_info].weapon_category==WEAPON_LONG_BLADES){
+ ss.clear();ss.str("");ss<<"a long blade";msg+=ss.str();
+ }
+ else if(inventory[item_info].weapon_category==WEAPON_AXES){
+ ss.clear();ss.str("");ss<<"an axe";msg+=ss.str();
+ }
+ else if(inventory[item_info].weapon_category==WEAPON_MACES){
+ ss.clear();ss.str("");ss<<"a mace";msg+=ss.str();
+ }
+ else if(inventory[item_info].weapon_category==WEAPON_POLEARMS){
+ ss.clear();ss.str("");ss<<"a polearm";msg+=ss.str();
+ }
+ else if(inventory[item_info].weapon_category==WEAPON_STAVES){
+ ss.clear();ss.str("");ss<<"a staff";msg+=ss.str();
+ }
+ else if(inventory[item_info].weapon_category==WEAPON_BOWS){
+ ss.clear();ss.str("");ss<<"a bow";msg+=ss.str();
+ }
+ else
if(inventory[item_info].weapon_category==WEAPON_CROSSBOWS){
+ ss.clear();ss.str("");ss<<"a crossbow";msg+=ss.str();
+ }
+ else if(inventory[item_info].weapon_category==WEAPON_SLINGS){
+ ss.clear();ss.str("");ss<<"a sling";msg+=ss.str();
+ }
+ else if(inventory[item_info].weapon_category==WEAPON_THROWN){
+ ss.clear();ss.str("");ss<<"a throwing
weapon";msg+=ss.str();
+ }
+ }
+ else if(inventory[item_info].category==ITEM_ARMOR){
+ ss.clear();ss.str("");ss<<"a piece of armor. It is for
the ";msg+=ss.str();
+ if(inventory[item_info].armor_category==ARMOR_HEAD){
+ ss.clear();ss.str("");ss<<"head";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_SHOULDER){
+ ss.clear();ss.str("");ss<<"shoulder";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_CHEST){
+ ss.clear();ss.str("");ss<<"chest";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_BACK){
+ ss.clear();ss.str("");ss<<"back";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_WAIST){
+ ss.clear();ss.str("");ss<<"waist";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_LEG){
+ ss.clear();ss.str("");ss<<"legs";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_FOOT){
+ ss.clear();ss.str("");ss<<"feet";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_HAND){
+ ss.clear();ss.str("");ss<<"hands";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_SHIELD){
+ ss.clear();ss.str("");ss<<"arm";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_NECK){
+ ss.clear();ss.str("");ss<<"neck";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_WRIST){
+ ss.clear();ss.str("");ss<<"wrists";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_SHIRT){
+ ss.clear();ss.str("");ss<<"chest";msg+=ss.str();
+ }
+ else if(inventory[item_info].armor_category==ARMOR_FINGER){
+ ss.clear();ss.str("");ss<<"fingers";msg+=ss.str();
+ }
+ }
+ else if(inventory[item_info].category==ITEM_FOOD){
+ ss.clear();ss.str("");ss<<"food";msg+=ss.str();
+ }
+ else if(inventory[item_info].category==ITEM_DRINK){
+ ss.clear();ss.str("");ss<<"a drink";msg+=ss.str();
+ }
+ else if(inventory[item_info].category==ITEM_SCROLL){
+ ss.clear();ss.str("");ss<<"a scroll";msg+=ss.str();
+ }
+ else if(inventory[item_info].category==ITEM_BOOK){
+ ss.clear();ss.str("");ss<<"a book";msg+=ss.str();
+ }
+ else if(inventory[item_info].category==ITEM_CONTAINER){
+ ss.clear();ss.str("");ss<<"a container";msg+=ss.str();
+ }
+ ss.clear();ss.str("");ss<<".";ss<<"\xA";msg+=ss.str();
+ ss.clear();ss.str("");ss<<"It is composed
of ";ss<<material_to_string(inventory[item_info].material);ss<<".";ss<<"\xA";msg+=ss.str();
+ }
+ else{
+ ss.clear();ss.str("");ss<<"This item is composed
of ";ss<<material_to_string(inventory[item_info].material);ss<<".";ss<<"\xA";msg=ss.str();
+ }
+ ss.clear();ss.str("");ss<<"It
weighs ";ss<<inventory[item_info].weight*inventory[item_info].stack;ss<<".";ss<<"\xA";msg+=ss.str();
+ ss.clear();ss.str("");ss<<"It
requires ";ss<<inventory[item_info].weight*1.5;ss<<" strength to wield in
melee.";ss<<"\xA";msg+=ss.str();
+ ss.clear();ss.str("");ss<<"It can
do ";ss<<inventory[item_info].damage_min_melee;ss<<"-";ss<<inventory[item_info].damage_max_melee;ss<<"
melee damage.";ss<<"\xA";msg+=ss.str();
+ ss.clear();ss.str("");ss<<"It can
do ";ss<<inventory[item_info].damage_min_thrown;ss<<"-";ss<<inventory[item_info].damage_max_thrown;ss<<"
thrown damage.";ss<<"\xA";msg+=ss.str();
if(inventory[item_info].damage_max_ranged!=0){
- ss.clear();ss.str("");ss<<"Ranged
damage: ";ss<<inventory[item_info].damage_min_ranged;ss<<"-";ss<<inventory[item_info].damage_max_ranged;ss<<"\xA";msg+=ss.str();
+ ss.clear();ss.str("");ss<<"It can
do ";ss<<inventory[item_info].damage_min_ranged;ss<<"-";ss<<inventory[item_info].damage_max_ranged;ss<<"
ranged damage.";ss<<"\xA";msg+=ss.str();
}
if(inventory[item_info].category==ITEM_ARMOR){
-
ss.clear();ss.str("");ss<<"Defense: ";ss<<inventory[item_info].defense;ss<<"\xA";msg+=ss.str();
- }
+ ss.clear();ss.str("");ss<<"It can defend
against ";ss<<inventory[item_info].defense;ss<<" points of
damage.";ss<<"\xA";msg+=ss.str();
+ }
+ ss.clear();ss.str("");ss<<"It is
worth ";ss<<inventory[item_info].monetary_value*inventory[item_info].stack;ss<<".";ss<<"\xA";msg+=ss.str();
font_small.show(5,5+font_small.spacing_y,msg,COLOR_WHITE);
}
=======================================
--- /templates.cpp Tue Apr 19 21:47:52 2011
+++ /templates.cpp Wed Apr 20 02:37:11 2011
@@ -59,6 +59,10 @@
//If the item is armor and no defense was set.
if(item->category==ITEM_ARMOR && item->defense==-1){
item->defense=(temp_item_size*toughness[item->material])/8.0;
+ //The armor piece should at least have 1 defense.
+ if(item->defense<=0){
+ item->defense=1;
+ }
}
//If no melee damage max was set.
=======================================
--- /update.cpp Mon Apr 18 18:50:18 2011
+++ /update.cpp Wed Apr 20 02:37:11 2011
@@ -299,18 +299,16 @@
if(player.option_dev && player.chat_mode){
render_rectangle(0,0,275,225,0.75,COLOR_BLACK);
render_rectangle(5,5,265,215,0.75,COLOR_GRAY);
- ss.clear();ss.str("");ss<<"Max Dungeon
Level: ";ss<<max_level+1;ss<<"\xA";msg=ss.str();
- ss.clear();ss.str("");ss<<"Level
Temperature: ";ss<<vector_levels[current_level].temperature;ss<<"\xA";msg+=ss.str();
+ ss.clear();ss.str("");ss<<"Level
Temperature: ";ss<<vector_levels[current_level].temperature;ss<<"\xA";msg=ss.str();
ss.clear();ss.str("");ss<<"Player Position (in
tiles): ";ss<<player.x;ss<<"/";ss<<player.y;ss<<"\xA";msg+=ss.str();
ss.clear();ss.str("");ss<<"Camera Position (in
pixels): ";ss<<player.camera_x;ss<<"/";ss<<player.camera_y;ss<<"\xA";msg+=ss.str();
- ss.clear();ss.str("");ss<<"Inventory
Size: ";ss<<player.inventory.size();ss<<"\xA";msg+=ss.str();
ss.clear();ss.str("");ss<<"Level Items
Size: ";ss<<vector_levels[current_level].items.size();ss<<"\xA";msg+=ss.str();
ss.clear();ss.str("");ss<<"Level Monsters
Size: ";ss<<vector_levels[current_level].monsters.size();ss<<"\xA";msg+=ss.str();
ss.clear();ss.str("");ss<<"Level
Size: ";ss<<vector_levels[current_level].level_x;ss<<"/";ss<<vector_levels[current_level].level_y;ss<<"\xA";msg+=ss.str();
- ss.clear();ss.str("");ss<<"CPU
Architecture: ";ss<<8*sizeof(void*);ss<<"-bit";ss<<"\xA";msg+=ss.str();
ss.clear();ss.str("");ss<<"Thirst: ";ss<<player.thirst;ss<<"\xA";msg+=ss.str();
ss.clear();ss.str("");ss<<"Weight: ";ss<<player.weight;ss<<"\xA";msg+=ss.str();
- ss.clear();ss.str("");ss<<"Level
Temp: ";ss<<vector_levels[current_level].temperature;ss<<"\xA";msg+=ss.str();
+ ss.clear();ss.str("");ss<<"Armor
Weight: ";ss<<player.return_inventory_weight(ITEM_ARMOR);ss<<"\xA";msg+=ss.str();
+ ss.clear();ss.str("");ss<<"Movement
speed: ";ss<<player.return_movement_speed();ss<<"\xA";msg+=ss.str();
font_small.show(5,5,msg,COLOR_WHITE);
}
=======================================
--- /version.h Tue Apr 19 22:46:05 2011
+++ /version.h Wed Apr 20 02:37:11 2011
@@ -16,17 +16,17 @@
//Standard Version Type
static const long MAJOR = 0;
static const long MINOR = 3;
- static const long BUILD = 2982;
- static const long REVISION = 16542;
+ static const long BUILD = 2999;
+ static const long REVISION = 16623;
//Miscellaneous Version Types
- static const long BUILDS_COUNT = 6988;
- #define RC_FILEVERSION 0,3,2982,16542
- #define RC_FILEVERSION_STRING "0, 3, 2982, 16542\0"
- static const char FULLVERSION_STRING[] = "0.3.2982.16542";
+ static const long BUILDS_COUNT = 7036;
+ #define RC_FILEVERSION 0,3,2999,16623
+ #define RC_FILEVERSION_STRING "0, 3, 2999, 16623\0"
+ static const char FULLVERSION_STRING[] = "0.3.2999.16623";
//These values are to keep track of your versioning state, don't modify
them.
- static const long BUILD_HISTORY = 22;
+ static const long BUILD_HISTORY = 39;
}
==============================================================================
Revision: 7ee4e5b2d5d7
Author: Kevin Wells <
DarkOp...@gmail.com>
Date: Wed Apr 20 03:13:44 2011
Log: Nothing much.
http://code.google.com/p/escape-from-the-masters-lair/source/detail?r=7ee4e5b2d5d7
Modified:
/Development/Ideas.rtf
/Escape from the Master's Lair.layout
/Escape from the Master's Lair.layout.save
/version.h
=======================================
--- /Development/Ideas.rtf Wed Apr 20 01:14:58 2011
+++ /Development/Ideas.rtf Wed Apr 20 03:13:44 2011
@@ -1,6 +1,5 @@
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0
Calibri;}}
{\*\generator Msftedit
5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs22 The
darkness should be more dangerous than simply not allowing the player to
see far, though. Perhaps some enemies can only move in the darkness.
Others could only spawn in the darkness. Maybe some kind of zergling type
creature (small and weak, but lots can spawn) that only spawns in the dark
near the player.\par
-It might be a good idea to implement an autosaving feature, in case of a
crash or something. The game could autosave whenever the level changes.\par
I need to add monsters spawning over time. Also, dark-spawning
monsters.\par
Maybe monsters initially spawned on a level should be determined by the
dungeon level, but monsters spawned later on a given level are determined
by the player's current experience level.\par
I think I should add a special new equipment slot for a launcher item. It
could work similarly to armor, in that ONLY launcher items can go in it.
This way, you could have a launcher item equipped while also dual-wielding
or single-wielding decent melee items. Right now, if you want melee and
ranged attacks ready, you have to have a melee and launcher item equipped
in the hand slots. But, this means that the launcher weapon is figured into
melee attacks.\par
=======================================
--- /Escape from the Master's Lair.layout Wed Apr 20 01:14:58 2011
+++ /Escape from the Master's Lair.layout Wed Apr 20 03:13:44 2011
@@ -20,7 +20,7 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="combat_all.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="307" topLine="0" />
+ <Cursor1 position="17" topLine="0" />
</File>
<File name="combat_all.h" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="199" topLine="0" />
@@ -41,7 +41,7 @@
<Cursor1 position="3107" topLine="43" />
</File>
<File name="creature.h" open="0" top="0" tabpos="4" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="2982" topLine="104" />
+ <Cursor1 position="10091" topLine="285" />
</File>
<File name="creature_alchemy.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3400" topLine="48" />
@@ -50,25 +50,25 @@
<Cursor1 position="1460" topLine="36" />
</File>
<File name="creature_combat.cpp" open="0" top="0" tabpos="3" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="18168" topLine="400" />
+ <Cursor1 position="4878" topLine="51" />
</File>
<File name="creature_commands.cpp" open="0" top="0" tabpos="4" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="46523" topLine="1669" />
+ <Cursor1 position="10188" topLine="295" />
</File>
<File name="creature_equipment.cpp" open="0" top="0" tabpos="5" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="1187" topLine="18" />
+ <Cursor1 position="1143" topLine="174" />
</File>
<File name="creature_experience.cpp" open="0" top="0" tabpos="1"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3573" topLine="79" />
</File>
<File name="creature_other_stats.cpp" open="0" top="0" tabpos="4"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="8459" topLine="219" />
+ <Cursor1 position="4016" topLine="123" />
</File>
<File name="creature_save_load.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="1018" topLine="18" />
</File>
<File name="creature_skills.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="289" topLine="2" />
+ <Cursor1 position="479" topLine="122" />
</File>
<File name="dungeon.h" open="0" top="0" tabpos="0" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="198" topLine="0" />
@@ -89,7 +89,7 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="enumerations.h" open="0" top="0" tabpos="2" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="5056" topLine="276" />
+ <Cursor1 position="5639" topLine="333" />
</File>
<File name="font.cpp" open="0" top="0" tabpos="5" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="1745" topLine="48" />
@@ -146,7 +146,7 @@
<Cursor1 position="6386" topLine="6" />
</File>
<File name="item_combat.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="358" topLine="0" />
+ <Cursor1 position="9606" topLine="72" />
</File>
<File name="item_save_load.cpp" open="0" top="0" tabpos="14" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3653" topLine="162" />
@@ -191,7 +191,7 @@
<Cursor1 position="255" topLine="0" />
</File>
<File name="monster.cpp" open="0" top="0" tabpos="3" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="4120" topLine="83" />
+ <Cursor1 position="4120" topLine="396" />
</File>
<File name="monster.h" open="0" top="0" tabpos="3" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="1103" topLine="27" />
@@ -223,11 +223,11 @@
<File name="player_scores.cpp" open="0" top="0" tabpos="5" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="6880" topLine="222" />
</File>
- <File name="player_start.cpp" open="1" top="1" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="6398" topLine="192" />
+ <File name="player_start.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
+ <Cursor1 position="6914" topLine="217" />
</File>
<File name="player_windows.cpp" open="0" top="0" tabpos="1" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="279" topLine="0" />
+ <Cursor1 position="49121" topLine="1296" />
</File>
<File name="quit.cpp" open="0" top="0" tabpos="0" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="963" topLine="21" />
@@ -275,7 +275,7 @@
<Cursor1 position="242" topLine="0" />
</File>
<File name="templates.cpp" open="0" top="0" tabpos="2" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="4989" topLine="125" />
+ <Cursor1 position="2212" topLine="35" />
</File>
<File name="templates.h" open="0" top="0" tabpos="1" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="2465" topLine="70" />
@@ -305,7 +305,7 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="update.cpp" open="0" top="0" tabpos="2" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="182" topLine="0" />
+ <Cursor1 position="13459" topLine="297" />
</File>
<File name="update.h" open="0" top="0" tabpos="11" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="249" topLine="0" />
=======================================
--- /Escape from the Master's Lair.layout.save Wed Apr 20 02:37:11 2011
+++ /Escape from the Master's Lair.layout.save Wed Apr 20 03:13:44 2011
@@ -61,14 +61,14 @@
<File name="creature_experience.cpp" open="0" top="0" tabpos="1"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="3573" topLine="79" />
</File>
- <File name="creature_other_stats.cpp" open="1" top="1" tabpos="4"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="8459" topLine="219" />
+ <File name="creature_other_stats.cpp" open="0" top="0" tabpos="4"
split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
+ <Cursor1 position="4016" topLine="123" />
</File>
<File name="creature_save_load.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="1018" topLine="18" />
</File>
<File name="creature_skills.cpp" open="0" top="0" tabpos="0" split="0"
active="1" splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="289" topLine="2" />
+ <Cursor1 position="479" topLine="122" />
</File>
<File name="dungeon.h" open="0" top="0" tabpos="0" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="198" topLine="0" />
@@ -305,7 +305,7 @@
<Cursor1 position="132" topLine="0" />
</File>
<File name="update.cpp" open="0" top="0" tabpos="2" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
- <Cursor1 position="13328" topLine="297" />
+ <Cursor1 position="13459" topLine="297" />
</File>
<File name="update.h" open="0" top="0" tabpos="11" split="0" active="1"
splitpos="0" zoom_1="0" zoom_2="0">
<Cursor1 position="249" topLine="0" />
=======================================
--- /version.h Wed Apr 20 02:37:11 2011
+++ /version.h Wed Apr 20 03:13:44 2011
@@ -16,17 +16,17 @@
//Standard Version Type
static const long MAJOR = 0;
static const long MINOR = 3;
- static const long BUILD = 2999;
- static const long REVISION = 16623;
+ static const long BUILD = 3000;
+ static const long REVISION = 16630;
//Miscellaneous Version Types
- static const long BUILDS_COUNT = 7036;
- #define RC_FILEVERSION 0,3,2999,16623
- #define RC_FILEVERSION_STRING "0, 3, 2999, 16623\0"
- static const char FULLVERSION_STRING[] = "0.3.2999.16623";
+ static const long BUILDS_COUNT = 7038;
+ #define RC_FILEVERSION 0,3,3000,16630
+ #define RC_FILEVERSION_STRING "0, 3, 3000, 16630\0"
+ static const char FULLVERSION_STRING[] = "0.3.3000.16630";
//These values are to keep track of your versioning state, don't modify
them.
- static const long BUILD_HISTORY = 39;
+ static const long BUILD_HISTORY = 40;
}