simeonpilgrim / coab Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/coab
Automatically exported from code.google.com/p/coab
[deleted issue]
What steps will reproduce the problem?
1. Choose Encamp-Alter-Order
2. Try to Select a char with S or Enter
What is the expected output? What do you see instead?
Should accept select and prompt for new place for given char. Instead,
nothing happens. Exit for E (maybe Esc as well, didn't try) works.
What version of the product are you using? On what operating system?
SVN head
Please provide any additional information below.
Will look into it tomorrow, hopefully.
Original issue reported on code.google.com by surrano
on 17 Sep 2009 at 9:34
Eki says:
The MSI installer does not seem to work with Windows XP Pro x64.
I only see a popup window for a split of a second and then the installer
quits
Original issue reported on code.google.com by simeon.pilgrim
on 30 Mar 2008 at 8:37
Curse of the Azure Bonds 1.1.0
6/06/2010 8:41:17 PM
Unhandled exception: System.NullReferenceException: Object reference not set to
an instance of an object.
at Classes.Sys.ArrayToShort(Byte[] data, Int32 offset)
at Classes.DaxBlock..ctor(Byte[] pic_data, Int32 masked, Int32 mask_color)
at Classes.Combat.CombatIcon.LoadIconHelper(Int32 maskColor, Int32 masked, Int32 block_id, String file_text)
at Classes.Combat.CombatIcon.LoadIcons(Int32 maskColor, Int32 masked, String file_text, Int32 normal_id, Int32 attack_id)
at engine.ovr034.chead_cbody_comspr_icon(Byte combat_icon_index, Int32 block_id, String fileText)
at engine.ovr003.CMD_LoadMonster()
at engine.CmdItem.Run()
at engine.ovr003.RunEclVm(UInt16 offset)
at engine.ovr003.sub_29758()
at engine.seg001.PROGRAM()
at Main.Program.EngineThread()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Original issue reported on code.google.com by simeon.pilgrim
on 7 Jun 2010 at 7:51
It does sometimes crash in the middle of a battle if I try something it
doesn’t like:
like manually aiming off the grid
or accidentally pressing esc
or other random things
-Found by Jakey
Original issue reported on code.google.com by simeon.pilgrim
on 27 Aug 2009 at 2:33
Curse of the Azure Bonds 1.1.0
4/06/2010 12:16:36 PM
Unhandled exception: System.IndexOutOfRangeException: Index was outside the
bounds of the array.
at engine.ovr003.CMD_Spell()
at engine.CmdItem.Run()
at engine.ovr003.RunEclVm(UInt16 offset)
at engine.ovr003.sub_29758()
at engine.seg001.PROGRAM()
at Main.Program.EngineThread()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Original issue reported on code.google.com by simeon.pilgrim
on 7 Jun 2010 at 7:50
Is the DOS version, when the party is looking at the overland map, you see
a flashing cursor in the location of the party.
Original issue reported on code.google.com by simeon.pilgrim
on 26 May 2008 at 1:46
After issue 33 is fixed, you can only learn up-to level 4 spells, where
the original game you can learn level 5 spells.
Original issue reported on code.google.com by simeon.pilgrim
on 27 Aug 2009 at 2:35
ranged weapons work through walls when then shouldn't
Original issue reported on code.google.com by simeon.pilgrim
on 2 May 2008 at 4:29
... so you know what you're aiming at. Currently displays range and who
the target is in the summary box (to the right), but no field highlight of
the sprite occurs.
Original issue reported on code.google.com by [email protected]
on 20 May 2008 at 5:55
Check what spells a MU can memorise.
Level the MU
The spells available are those the MU already knows.
-Found by Jakey
Original issue reported on code.google.com by simeon.pilgrim
on 27 Aug 2009 at 2:32
When run for the first time, the main form with open, and stay blank.
The per user debug setting needs to be set for the working directory to be
the same as where your original PC Curse game is install.
In the future, the game will ask for this location on first execution.
Original issue reported on code.google.com by simeon.pilgrim
on 25 Sep 2006 at 9:21
What steps will reproduce the problem?
1. Get in combat
2. Lose
3. Crash
Original issue reported on code.google.com by simeon.pilgrim
on 30 Jan 2009 at 9:23
Paul reports, in save game E:
When encountering Crimdrac the Dracolich, there is one bug in the “script
engine”. You are given the option to surrender to him or fight him. I
fought him and killed him. The game proceeds along as if I surrendered to
him, which is somewhat amusing. You then encounter Dracandros, and
navigating through the options, I chose to fight the black dragons. The
game crashes when the black dragons do something, which I presume to be
using their breath weapon.
Original issue reported on code.google.com by simeon.pilgrim
on 21 May 2008 at 4:52
What steps will reproduce the problem?
1. Bring game to any state where there is a horizontal menu (camp, town,
combat, etc... not sure about command, though)
2. Try to navigate with comma and dot.
3.
What is the expected output? What do you see instead?
Comma should navigate to the left and dot to the right in the menu.
Instead, nothing happens.
What version of the product are you using? On what operating system?
SVN head
Please provide any additional information below.
Problem is that seg043.GetInputKey returns 32 for several characters,
including comma and dot.
Source of problem seems to be in Keyboard.cs:
public static ushort KeyToIBMKey(Keys key)
{
...
return 0x0020;
}
Adding these lines before the final return solves the problem:
if (key == Keys.Oemcomma)
{
return 0x2c;
}
if (key == Keys.OemPeriod)
{
return 0x2e;
}
By the way, I think it would be more readable to use switch instead of the
majority of the if's.
Original issue reported on code.google.com by surrano
on 18 Sep 2009 at 10:13
I the icon for downed players draws the grey square over walls, and it
looks bad.
I have observed the dos version doing this also. So this is an enhancement.
Original issue reported on code.google.com by simeon.pilgrim
on 7 Apr 2008 at 2:26
oes killed with fireball or other magic spells don't show up as crossbones
icons and disappear from the field. they are invisible until you walk past
or into them. if they are directly in your path, you will attack them and
then they will show crossbones and disappear. If you go past them, dead
and dying foes will attack you as if they were alive and sometimes hit.
they can be taken off the board with non-magical missiles too.
Original issue reported on code.google.com by simeon.pilgrim
on 27 Aug 2009 at 10:25
the fading of the Moander sigil is very slow in the dos version, yet in the
port, you just see the end result.
This should be slowed down.
Original issue reported on code.google.com by simeon.pilgrim
on 7 Apr 2008 at 2:21
Type-Enhancement
What steps will reproduce the problem?
1. Create human character.
2. Change classes.
3. Advance beyond old class level.
What is the expected output? What do you see instead?
In AD&D 1st Ed the Dual class is implicitly meant for maximum two classes.
In AD&D 2nd Ed this restriction is lifted.
In Curse, the Human Change Classes does not appear if you have an old class
already. In Secret and POD the menu item is there but says the character
"does not qualify".
There are two possible enhancements here:
A) Make the menu item appear and provide appropriate message if the
character does not qualify (e.g. not human, already changed class, level
insufficient, primary attributes insufficient, etc... don't know if there
are more).
B) Make the game behave like AD&D 2Ed in this aspect, i.e. allow multiple
changes.
What version of the product are you using? On what operating system?
1.0.20 on Win XP
Please provide any additional information below.
References are from SVN dated 11 Sep 2009.
Notes marked with //S:
A) seems like transferring condition checks from here:
ovr018.cs, line 89:
if ((gbl.area2_ptr.training_class_mask > 0 ||
Cheats.free_training == true) &&
ovr026.IsHuman(gbl.player_ptr) &&
ovr026.HumanFirstOldClass_Unknown(gbl.player_ptr) == ClassId.unknown)
{
menuFlags[allow_multiclass] = true;
}
else
{
menuFlags[allow_multiclass] = false;
}
//S: menuFlags[allow_multiclass] should always be true.
to here:
ovr018.cs, line 197:
case 'H':
if (menuFlags[allow_multiclass] == true)
{
ovr026.multiclass(gbl.player_ptr);
}
break;
//S: the condition checking should be made here. e.g.
case 'H':
if (gbl.area2_ptr.training_class_mask <= 0 &&
Cheats.free_training == false)
{
seg041.DisplayStatusText(0, 14,
"???");
}
else if (!ovr026.IsHuman(gbl.player_ptr))
{
seg041.DisplayStatusText(0, 14,
"Not Human");
}
else if
(ovr026.HumanFirstOldClass_Unknown(gbl.player_ptr) != ClassId.unknown)
{
seg041.DisplayStatusText(0, 14,
"Already dual-class");
}
else if (menuFlags[allow_multiclass] == true)
{
ovr026.multiclass(gbl.player_ptr);
}
break;
B) is actually the elimination of the "Already dual-class" condition.
As far as I could see it needs to be fixed in 3 places.
B1) the menu itself, like above. If A) is implemented simply remove the
condition.
B2) the recalculation of menu:
ovr018.cs, line 145:
bool var_11 = (ovr026.IsHuman(gbl.player_ptr) &&
ovr026.HumanFirstOldClass_Unknown(gbl.player_ptr) == ClassId.unknown);
...
if (ovr026.IsHuman(gbl.player_ptr) == false ||
ovr026.HumanFirstOldClass_Unknown(gbl.player_ptr) != ClassId.unknown)
//S: remove old class condition
bool var_11 = (ovr026.IsHuman(gbl.player_ptr));
...
if (ovr026.IsHuman(gbl.player_ptr) == false)
If A) is implemented the whole section can be ignored: replace lines 145-160:
bool var_11 = ...
...
reclac_menus = var_11 &&
gbl.area2_ptr.training_class_mask > 0;
with this single line:
reclac_menus = gbl.area2_ptr.training_class_mask > 0;
By the way I have a feeling that a cheat condition is missing here so it
should definitely look like:
reclac_menus = (gbl.area2_ptr.training_class_mask
<= 0 && Cheats.free_training == false)
B3) Recalculation of HP on CON change:
This is the hardest part.
ovr024.cs, line 1057:
byte var_B = player.ClassLevelsOld[var_C];
if (var_B > 0)
{
sub_647BE(var_B, var_C, stat_a, ref var_A, player);
}
This is within a for loop, therefore the Con bonus will be calculated and
summed for all old classes. I made a try with:
Fighter 9 / Ranger 11
For Con 19 the bonus is 10x5 = 50
However, your version calculates 90 with Con 19 and 72 with Con 18 (i.e. 18
x bonus, where 18 = 9 + min(9,11)).
This is definitely a defect and will open a separate issue for it.
Then modified saved game to:
Fighter 9/Paladin 8/Ranger 11/Magic-User 7/Thief 6
The Con bonus should be:
6x2 for Thief
1x2 for Magic-User
1x5 for Paladin
1x5 for Fighter
1x5 for Ranger (no Con bonus on 11th level)
For a total of 29. Instead, I think the bonus is calculated as:
6x2 + 7x2 + 8x5 + 9x5 + 5 (note: it is properly calculated for the current
class) = 116. However, for some reason, the DOS version calculated 121 (I
have no explanation).
Your version calculates 130/156, depending on Con 18/19.
Nevertheless, either the calls to the sub or the sub itself should be
rewritten to be conscious about multiple dual classes.
I'm still thinking about an effective (linear) algorithm like filling a
vector and summing it up at the end.
Original issue reported on code.google.com by surrano
on 16 Sep 2009 at 8:10
What steps will reproduce the problem?
1. Create a fighter (level 5) with high CON score, e.g. 17.
2. Dual-class to thief.
3. Advance to level 6.
What is the expected output? What do you see instead?
Max HP should be 5x10 + 5x3 + 1x6 + 1x2 = 73.
Instead, it is 5x10 + 5x3 + 1x6 + 5x2 = 81
What version of the product are you using? On what operating system?
1.0.20 on Win XP
Please provide any additional information below.
References are from SVN dated 11 Sep 2009.
Notes marked with //S:
ovr024.cs, line 1076:
if (var_B > player.multiclassLevel)
{
var_B = player.multiclassLevel;
sub_647BE(var_B, var_C, stat_a, ref var_A, player);
}
//S: This code means that CON bonus for new class is calculated with
//S: the level of the old class, not the excess levels.
//S: The minimum fix is that it should be -=
if (var_B > player.multiclassLevel)
{
var_B -= player.multiclassLevel;
sub_647BE(var_B, var_C, stat_a, ref var_A, player);
}
Even with this fix this calculation goes wrong once max_class_levels
(max_class_hit_dice) are reached.
E.g. Fighter level 9, Thief level 12: should receive 9x3 + 1x2 bonus.
Even with the fix above it will receive 9x3 + 3x2 bonus, because of this:
ovr024.cs, line 783:
internal static void sub_647BE(byte arg_2, int class_index, byte
bp_var_1, ref byte bp_var_A, Player player)
{
if (gbl.max_class_levels[class_index] <= arg_2)
{
arg_2 = (byte)(gbl.max_class_levels[class_index] - 1);
}
I.e. the levels (arg_2) are compared to max_class_levels only but only the
difference is passed as an argument.
A solution is calling it for current level, then substracting for
multiclasslevel:
if (var_B > player.multiclassLevel)
{
// calculate as if single class
// (except ranger dual hit dice)
sub_647BE(var_B, var_C, stat_a, ref var_A, player);
byte multiclass_delta = 0;
// calculate as if old class would be current class
sub_647BE(player.multiclassLevel, var_C, stat_a,
ref multiclass_delta, player);
// The old class part is subtracted from the total
var_A -= multiclass_delta;
}
This way the calculation will go like:
10x2 for thief level 12
9x2 for thief level 9
Difference is 1x2 hp.
Original issue reported on code.google.com by surrano
on 16 Sep 2009 at 8:25
What steps will reproduce the problem?
1. Unequip a weapon, select Aim->Manual and select a nearby enemey.
"Target" option is availible.
2. Equip a weapon and repeat the process, notice "Target" is missing.
Changing
maxRange =gbl.ItemDataTable[attacker.Equipped_Weapon1.type].range - 1;
to
maxRange =gbl.ItemDataTable[attacker.Equipped_Weapon1.type].range +1;
seems to fix the problem.
Original issue reported on code.google.com by [email protected]
on 4 Aug 2009 at 3:58
What steps will reproduce the problem?
1. Trying to scribe a MU scroll when there are more than one scroll in
inventory
2.
3.
What is the expected output? What do you see instead?
I should see the scribing scroll screen. Instead, it crashes.
What version of the product are you using? On what operating system?
v 1.0.15
Please provide any additional information below.
The scribe screen works when there is one scroll in inventory. But two or
more (even if one is a cleric scroll) seems to cause a crash.
Original issue reported on code.google.com by [email protected]
on 9 May 2009 at 6:49
When playing Pual's party in the Moander temple,
in dos:
if you try leave via the entrance, you get a "no no" message and push back
into the room
in port:
you get teleported to the "lower level" very helpful, not not the same...
Original issue reported on code.google.com by simeon.pilgrim
on 7 Apr 2008 at 2:17
Save F, superkranix has a 'cloak of displacement' if you unready it, then
ready it again when not in combat the game crashes.
Original issue reported on code.google.com by simeon.pilgrim
on 17 May 2008 at 9:34
What steps will reproduce the problem?
1. Heal character to max
2. Equip Girdle of the Dwarves so that CON bonus changes (i.e. from 14-18
to 15-19)
What is the expected output? What do you see instead?
HP current remains equal to max, with the increased value.
Instead, HP becomes the difference between old and new max.
What version of the product are you using? On what operating system?
1.0.20 on Win XP
Please provide any additional information below.
References are from SVN dated 11 Sep 2009.
Notes marked with //S:
ovr024.cs, line 1087:
if (player.hit_point_max > map_hp)
{
player.hit_point_current = (byte)(player.hit_point_max
- map_hp);
}
if (player.hit_point_max < map_hp)
{
if (player.hit_point_current > map_hp -
player.hit_point_max)
{
player.hit_point_current = (byte)(map_hp -
player.hit_point_max);
}
else
{
player.hit_point_current = 0;
}
}
//S: the minimum fix would be using "+=" and "-=" instead of "=":
player.hit_point_current += (byte)(player.hit_point_max
- map_hp);
//...
player.hit_point_current -= (byte)(map_hp -
player.hit_point_max);
//S: however, the whole story is much simpler than this and can be cleaned
up as:
//S: some caution is needed here... this must be a
//S: signed comparison!
if (player.hit_point_current >
map_hp – player.hit_point_max)
{
player.hit_point_current +=
(byte)(player.hit_point_max – map_hp);
}
else
{
player.hit_point_current = 0;
}
Original issue reported on code.google.com by surrano
on 16 Sep 2009 at 6:54
If you have 3000 gold, and bug a 200 gold cure, you balance is 200 gold,
not 2800.
Original issue reported on code.google.com by simeon.pilgrim
on 7 May 2010 at 7:46
Giant Slugs are supposed to spit acid, apparently they are not.
Original issue reported on code.google.com by simeon.pilgrim
on 2 May 2008 at 4:33
If you have
2 or more magic Darts in your inventory, and they are identified, then the
display name generated is
"X Dart +1s" instead of "X Darts +1"
I have this situation in save game I
Original issue reported on code.google.com by simeon.pilgrim
on 3 Jun 2008 at 12:44
What steps will reproduce the problem?
1. Starting from Saved game E,
2. Exiting the dungeon you get to the wilderness map.
3. Make your way to Hillsfar
4. Try taking a boat to Phlan.
The game says you're attacked by pirates then proceeds to crash.
Original issue reported on code.google.com by simeon.pilgrim
on 26 May 2008 at 1:42
it appears that shambling mounds only take half damage for the first round
of combat
Original issue reported on code.google.com by simeon.pilgrim
on 2 May 2008 at 4:30
What steps will reproduce the problem?
1. Have a combat, which drops treasure
What is the expected output? What do you see instead?
When in the 'View Take Pool Detect Exit' menu, the Treasure picture should
be displayed.
Original issue reported on code.google.com by simeon.pilgrim
on 26 May 2008 at 1:44
- Cone of cold
- Slow
- Curse
- Fireball
need to check them all.
Original issue reported on code.google.com by simeon.pilgrim
on 2 May 2008 at 4:31
In the original game the background colour is gray, and shadow are balck.
In the port, the background is black, and shadows are grey.
I suspect there is a palate swap, that is not sticking...
Original issue reported on code.google.com by simeon.pilgrim
on 7 Apr 2008 at 2:09
Encamp and memorize an identified scroll (say, Magic User Scroll with 3
Spells -- from thieves' treasure) -> crash on memorize. As well, use a
scroll in combat -> crash.
Original issue reported on code.google.com by [email protected]
on 20 May 2008 at 6:04
Game quits whenever I try to cast “find trap” from a game menu. Not as a
spell. this has happened twice so far, first at the altar in the temple of
bane in zhentil keep, 2nd time searching the dead elf’s remains int he cave
of the beholder.
Original issue reported on code.google.com by simeon.pilgrim
on 26 Jan 2010 at 2:29
What steps will reproduce the problem?
1. Get a player with a Staff Sling
2. Aim at a ranged monster, 2-3 squares away
3. no option to target this monster
What is the expected output? What do you see instead?
You should be able to target them
Original issue reported on code.google.com by simeon.pilgrim
on 27 Aug 2009 at 8:28
If you have more exp than level needs your exp is set back to new level
minimum.
Reported: Jakey
Original issue reported on code.google.com by simeon.pilgrim
on 30 Aug 2009 at 7:06
What steps will reproduce the problem?
* Try to take any path from Tilverton through the outside to any city
(dagger falls, etc.) via wilderness or trail.
After exiting the fire knives lair and getting kicked out of Tilverton, I
wasn't able to continue travelling. App crashes whenever trail or
wilderness route selection is made. I have a save game if you need it
(saved at the point of wilderness travel).
Original issue reported on code.google.com by [email protected]
on 11 Jun 2008 at 9:23
Monster placement in combat is wrong. In the Mogion battles, clerics are
sometime place on the other side of a wall, to the rest of the battle.
seen in build 1.0.5
Original issue reported on code.google.com by simeon.pilgrim
on 18 Apr 2008 at 5:00
What steps will reproduce the problem?
1. Encounter Dexam the Beholder in the Beholder Cave
Crashes. Sent save game zip (use Save Game B and go through the doorway).
Original issue reported on code.google.com by [email protected]
on 26 Jun 2008 at 9:21
It should use the spell casters spells to heal the party and rest until all
healed and all spells are recovered.
Original issue reported on code.google.com by simeon.pilgrim
on 2 May 2008 at 4:28
Select a party member, drop all their money.
Select another party member and try trading money, nether member's money
will change.
The weight of the members will change, as if the money had been swapped
Original issue reported on code.google.com by simeon.pilgrim
on 17 Jun 2008 at 2:50
Based on input to Issue 9 - Check if Paladins heal is used in the fix
command, and if not, add it.
Original issue reported on code.google.com by simeon.pilgrim
on 17 Jun 2008 at 10:00
What steps will reproduce the problem?
1. Create human fighter
2. Modify strength to 18/00
3. Keep
4. View character
What is the expected output? What do you see instead?
Expected is that STR remains the modified value.
Instead, it is the original value (if it was exceptional) or 18 (if it was
lower). All other stats are modified correctly.
What version of the product are you using? On what operating system?
SVN tip as of 16 Sep 2009, Win XP. Compiled with csc (.Net 3.5) and ResGen
(VS Express 2008)
Please provide any additional information below.
I think problem is here:
ovr018.cs, lines:
#1323:
byte var_7 = gbl.player_ptr.tmp_str_00;
#1416:
if (player_ptr.tmp_str_00 > 0)
{
player_ptr.tmp_str_00 -= 1;
#1549:
if (player_ptr.stats[stat_var].max > 18 &&
(player_ptr.fighter_lvl > 0 || player_ptr.paladin_lvl > 0 ||
player_ptr.ranger_lvl > 0) &&
racial_stats_limits[(int)player_ptr.race].str_100_max[player_ptr.sex] >
player_ptr.tmp_str_00)
{
player_ptr.tmp_str_00 += 1;
}
#1736:
gbl.player_ptr.tmp_str_00 = var_7;
#1792:
gbl.player_ptr.tmp_str_00 = gbl.player_ptr.max_str_00;
Just as with the rest of the stats I suppose the modification should be
done on max, and upon exit, it is the max that should be reset to var_7.
I think the last line is the only one that's consistent here. But you may
change that line only -- i.e. edit tmp all the way along, and do max_str_00
= tmp_str_00 at the end.
I wonder what may happen if you equip a Gauntlets of Ogre Power before
editing the character :)
Original issue reported on code.google.com by surrano
on 17 Sep 2009 at 8:17
What steps will reproduce the problem?
1. find some treasure with magic items known to be present
2. cast detect magic
3. view items to take
What is the expected output? What do you see instead?
There should be a '*' in front on the magic items.
Original issue reported on code.google.com by simeon.pilgrim
on 4 Apr 2008 at 9:51
When moving past a opponent threatened square, that are supposed to get a
free attack.
Original issue reported on code.google.com by simeon.pilgrim
on 2 May 2008 at 5:00
This is a minor issue, more like a feature. You may wish to reject it.
What steps will reproduce the problem?
1. Alter a PoolRad player file so that you modify max hp (0x32) and current
hp (0x11b) but not rolled hp (0xb1)
2. Import character to Curse
3. Make Curse recalculate HP, e.g. ready an item that modifies Con, e.g.
Girdle of the Dwarves
Note: the reproduction is the readying of the item, the character may have
been imported earlier.
Another way to reproduce is:
1. Alter a Curse player file (or saved game) so that you modify rolled hp
(0x12c) but not max hp (0x78), or modify Con without modifying hp, etc.
2. Ready Girdle of the Dwarves
What is the expected output? What do you see instead?
Expected output would be that if you ready e.g. Girdle of Dwarves then HP
goes up according to Con change and if you unready it the HP returns to
original.
Instead, the HP is calculated from the not-hacked rolled hp (0xb1).
What version of the product are you using? On what operating system?
1.0.20 on Win XP
Please provide any additional information below.
References to code are from SVN tip as of Sep 11.
Comments are marked with //S:
Player.cs, line 401:
[DataOffset(0x12c, DataType.Byte)]
public byte field_12C; // 0x12c;
//S: field should be called hit_point_rolled or something like this.
public byte hit_point_rolled; // 0x12c;
ovr017.cs, line 536:
player.field_12C = bp_var_1C0.field_B1;
//S: the calculation should be checked against max hp
//S: and one of them should be fixed. E.g.:
player.hit_point_rolled = bp_var_1C0.field_B1;
byte map_hpmax = player.hit_point_max;
ovr024.CalcStatBonuses(Stat.CON, player);
// note: this already fixes hpmax if I'm not mistaken
// to fix hprolled instead:
if (player.hit_point_max != map_hpmax) {
player.hit_point_rolled += player.hit_point_max - map_hpmax;
player.hit_point_max = map_hpmax;
}
Original issue reported on code.google.com by surrano
on 16 Sep 2009 at 6:29
What steps will reproduce the problem?
1. View a character's items
2. Trade an item to another character
What is the expected output? What do you see instead?
The item should transfer. Instead, you get a warning saying that
you "can't lose the item". However, the target character now has the item
too. Trade again, and the target character will have another copy.
What version of the product are you using? On what operating system?
1.0.7
Please provide any additional information below.
I love it!!! Makes for great team building, and you can sell xeroxed
magic items to your heart's content, but it's a bug.
Original issue reported on code.google.com by [email protected]
on 20 May 2008 at 5:51
What steps will reproduce the problem?
1. Press "C" during battle.
What is the expected output? What do you see instead?
Game should display "<char>'s spells in memory". Instead, it displays
"<char>s spells in memory" (note the missing apostrophe as well as the
extra space after "s").
What version of the product are you using? On what operating system?
v 1.0.15, Windows XP
Please provide any additional information below.
Just a minor typo that I noticed.
Original issue reported on code.google.com by [email protected]
on 28 Apr 2009 at 1:34
Type: Code beautify
Severity: remark
That steps will reproduce the problem?
None. Just a code beautify issue.
What is the expected output? What do you see instead?
References to code are from SVN tip dated 11 Sep 2009.
Notes marked with //S:
Gbl.cs: line 269
public readonly static byte[] max_class_levels = { 10, 15, 10, 10,
11, 12, 11, 13 }; // byte_1A1CB seg600:3EBB
//S: should be:
public readonly static byte[] max_class_hit_dice = { 10, 15, 10,
10, 11, 12, 11, 13 }; // byte_1A1CB seg600:3EBB
The variable is referenced in ovr018.cs and ovr024.cs
What version of the product are you using? On what operating system?
1.0.20 on Win XP
Please provide any additional information below.
Original issue reported on code.google.com by surrano
on 16 Sep 2009 at 6:34
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.