Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More info about various object types #64

Merged
merged 6 commits into from
Dec 25, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add info about loot types for corpses
devinacker committed Dec 17, 2019
commit b83c6a08fc55f5a73e2a0663a1384e88f9562dce
27 changes: 25 additions & 2 deletions levelObjects/08_SmallStuff/levelSmallStuffEntry.md
Original file line number Diff line number Diff line change
@@ -40,10 +40,33 @@ Nothing special.

**Corpse** (10 bytes)

0000 [2]byte Unknown
0000 byte Treasure type
0001 byte Unused
0002 [4]int16 Object index

> A few corpses have the first byte set to 0x01. Only found with empty corpses, and effect unknown.
The four ```Object index``` values determine the corpse's loot. More random loot can be added to empty slots based on the ```Treasure type```.


**Treasure Type Enumeration** (1 byte)

0xF5 No treasure
0xF6 Humanoid
0xF7 Drone
0xF8 Assassin
0xF9 Warrior cyborg
0xFA Flier bot
0xFB Security 1 bot
0xFC Exec bot
0xFD Cyborg enforcer
0xFE Security 2 bot
0xFF Elite cyborg
0x00 Standard corpse
0x01 Loot-oriented corpse
0x02 Repairbot
0x03 Serv-bot


> The treasure type values for corpses are the same as for [critter properties](../14_Critter/critterProperties.md), except offset by 11.

#### Severed Heads 8/2/13, 8/2/14

6 changes: 4 additions & 2 deletions levelObjects/14_Critter/critterProperties.md
Original file line number Diff line number Diff line change
@@ -3,6 +3,7 @@
#### Generic Critter Properties

**Generic Critter Propertes** (`CritterProp` struct) (75 bytes)

0000 byte Intelligence; unused
0001 [21]byte Primary attack info
0016 [21]byte Secondary attack info
@@ -42,12 +43,13 @@ The `secondary attack probability` determines how likely the critter will use it

The `disrupt probability` determines how likely the critter will be interrupted when being hit. `0xFF` means always, `0x00` will have the critter execute its attacks and movement without interruptions.

`Treasure type` is an enumeration value (ranging from `0x00` to `0x0E`), pointing into a hardcoded pool of possible loot. See below for the possible constants. The concrete loot is randmoized accordingly.
`Treasure type` is an enumeration value (ranging from `0x00` to `0x0E`), pointing into a hardcoded pool of possible loot. See below for the possible constants. The concrete loot is randomized accordingly.

The `attack key frame` value is an index into the attack animation, when the corresponding attack should take effect.


**Critter Attack Info** (`CritterAttack` struct) (21 bytes)

0000 uint8 Damage type
0001 uint8 Special damage type
0002 [2]byte Unused
@@ -94,7 +96,7 @@ The critter will want to get within the `attack range` to perform its attack.
0x0A Elite cyborg
0x0B Standard corpse
0x0C Loot-oriented corpse
0x0D Electro-stuff treasure
0x0D Repairbot
0x0E Serv-bot