ElCuGo
Email: <elcugo AT SPAMFREE gmail DOT com> or <elio AT SPAMFREE mixtk DOT com>
Homepage: http://elcugo.mixtk.com (Currently down!)
Me
My name is Elio and I'm from Mexico. I studied computer engineering in the UTM and like many areas of computing, specially programming and games.
I love roguelikes but i haven't played many. I often play NetHack and ToME, but have tried others like ADOM, Zangband and Gearhead,I sometimes play LostLabyrinth and Diablo (almost a roguelike.) I love classic SNES era console RPG, like Final Fantasy. (I'm working in a console style RPG with roguelike elements, but it's going to take a while to get it somewhere.)
Play style
I like to explore every room of every floor of every dungeon, but the game is so long that I often simply rush to the stairs. I choose either no random quests or 98 quests, and I often use the ironman_rooms option.
I tend to rush screaming into battles withouth preparing the terrain or anything. It's fast but I die very often because of this.
Window layout: I use 4 windows: The map, visible monsters, message recall and inventory neatly aligned so I can see them all at all times.
Options: Autosave, center view on player, hilite player and special floor colors, always small levels.I use slightly modified PREF files to change several tiles and make them easier to see and reduce some symbol overload (specially from '~' and '?')
Characters
I don't like to get too atached to my characters as they die a lot, but:
ToME 2
Gael (Dunadan Geomancer, ironman_rooms, winner and retired)
Drakula (Vampire Dunadan Mague, winner and retired)
See all my characters in the ladder.
ToME 3
None yet.
B.O.B.
/Franky (0.2 winner)
ToME3 stuff
Changing font size on the SDL interface
In linux, open the file ~/.tome/3.0/settings/sdl.cfg in your favorite editor and change the following line for something of your liking:
fonts.set0.size = 10
To enable antialiasing, pass the -a parameter to the interface, example:
$ tome3 -Mtome -msdl -- -a
Modules
Modules/sTarWars: A long time ago, in a galaxy far away... Take the role of a Jedi and use the Force to bring the Sith to justice or become an [in]famous mercenary and amass great riches.
Engine stuff
Things that I have found about the engine and may be useful to others. See also EtMarc user page.
Inventory
Recover control of your inventory colors. Open the file pref/font-xxx.prf in your module directory and delete all the harcoded colors there. Don't delete the entries about spells if you want the projection effects.
I just found something interesting. The inventory subsystem divides player.weight_limit() by two for its calculations. I see no apparent reason why this is done. If you want to have an effect on your player when you are carrying a lot, make sure you make computations with half of the weight limit for consistency.
Player
Types
player_type
- lives: How many times we resurected (number)
- oldpy, oldpx: Previous player location (number)
- wild_force_side_y_ok: ??? (bool)
- wild_force_side_x_ok: ??? (bool)
- wild_force_side_y: ??? (s16b)
- wild_force_side_x: ??? (16b)
- py, px: Player location (number)
- descriptor: The player descriptor (player_descriptor)
- descriptors: flags_type
- mimic_form: current transformation (number)
- mimic_level: Level of the mimic efect (number)
- oops: Unused (number)
- inventory: The player inventory (flags_type)
- hitdie: Hit dice (sides) (number)
- expfact: Experience factor (number)
- maximize: Maximize stats (bool)
- preserve Preserve artifacts (bool)
- special: Special levels (bool)
- allow_one_death: Blood of life
- age: Character's age (number)
- ht: Height (number)
- wt: Weight (number)
- sc: Social class (number)
- au: Current gold (number)
- max_exp: Maximum experience (number)
- exp: Current experience (number)
- exp_frac: Current experience fraction (times 2^16)
- lev: Level (number)
- town_num: Current town number (number)
- inside_quest: Inside quest level (number)
- exit_bldg: Goal obtained in arena? (???) (bool)
- wilderness_x: X Coordinates in the wilderness (number)
- wilderness_y: Y Coordinates in the wilderness (number)
- wild_mode: TRUE = Small map, FLASE = Big map (boolean)
- old_wild_mode: TRUE = Small map, FLASE = Big map (boolean)
- hp_mod: A modificator(permanent) (number)
- max_plv: Maximum player level (number)
luck_cur: Current "natural" luck value (range -30 <> 30) (number)
luck_cur: Current "maximal base" luck value (range -30 <> 30) (number)
luck_base: Current "base" luck value (range -30 <> 30) (number)
- cur_lite: Radius of lite (if any) (number)
- pspeed: Current global speed (number)
- speeds: Specific speeds, indexed by skills (flags_type)
- notice: Special Updates (bit flags) (number)
- update: Pending Updates (bit flags) (number)
- redraw: Normal Redraws (flags_type)
- window: Window Redraws (bit flags) (flags_type)
- recall_dungeon: Recall in which dungeon (number)
- word_recall: Word of recall counter (number)
- energy: Current energy (number)
- stat_max: Current "maximal" stat values (flags_type)
- stat_cur: Current "natural" stat values (flags_type)
- stat_add: Modifiers to stat values (flags_type)
- stat_ind: Current stat values (flags_type)
- stat_top: Maximal modified stats (flags_type)
- stat_cnt: Counter for temporary drains (flags_type)
- stat_los: Amount of temporary drains (flags_type)
- intrinsic_flags: Player intrinsic flags (flags_type)
- resists: Summary of all resistances (flags_type)
- absorbs: Summary of all absorbs (flags_type)
- skill_bonuses: Bonus to skill levels (flags_type)
- cumber_armor: Mana draining armor (boolean)
- cumber_glove: Mana draining gloves (boolean)
- heavy_wield: Heavy weapon (boolean)
- heavy_shoot: Heavy shooter (boolean)
- icky_wield: Icky weapon (boolean)
- dis_to_h: Known bonus to hit (number)
- dis_to_d: Known bonus to dam (number)
- dis_to_a: Known bonus to ac (number)
- dis_ac: Known base ac (number)
- to_l: Bonus to life (number)
- to_m: Bonus to mana (number)
- to_s: Bonus to spell (number)
- to_h: Bonus to hit (number)
- to_d: Bonus to dam (number)
- to_a: Bonus to ac (number)
- num_blow: Number of blows (number)
- num_fire: Number of shots (number)
- extra_blows: Number of extra blows (number)
- extra_shots: Number of extra shots (number)
- ac: Base AC (armor class) (number)
- antimagic: Power of the anti magic field (number)
- antimagic_dis: Radius of the anti magic field (number)
- see_infra: Infravision range (number)
- skill_dis: Skill: Disarming (number)
- skill_dev: Skill: Magic Devices (number)
- skill_sav: Skill: Saving throw (number)
- skill_stl: Skill: Stealth factor (number)
- skill_srh: Skill: Searching ability (number)
- skill_thb: Skill: To hit (shooting) (number)
- skill_tht: Skill: To hit (throwing) (number)
- skill_points: Skill points (number)
- combat_style: Combat style (???) (number)
- use_piercing_shots: for archery (number)
- control: Controlled monster (number)
- control_dir: Controlled monster (number)
- companion_killed: Number of companion death (number)
- black_breath: The Tolkien's Black Breath (boolean)
- body_monster: In which body is the player (monster_type)
- extra_body_parts: Various body modifiers (flags_type)
- powers: Actual powers (flags_type)
- powers_mod: Intrinsinc powers (flags_type)
- necro_extra: Necro powers (number)
- flags: flags (flags_type)
- tactic: from 128-4 extremely coward to 128+4 berserker (string)
- movement: base movement way (string)
- leaving: True if player is leaving (Boolean)
Global variables
energy_use: Energy use for an action (0 if action does not take a turn). (Number)
alive: Is the player alive (boolean)
death: Is the player dead (boolean)
player: The player. (player_type)
max_dp_idx: ??? (player_type)
descriptor_info[]: Player descriptor info (player_descriptor)
Functions
set_died_from(cptr from): Sets the reason fo death.
check_experience(void): Check if player experience level has changed.
check_experience_obj(object_type *o_ptr): Check if object "o_ptr" experience level has changed.
gain_exp(s32b amount): Gain "amount" of experience.
lose_exp(s32b amount): Decrease experience by "amount".
no_lite(void): Return true if the player's grid is dark.
Monsters
Types
monster_type: Contains information about a monster.
- r_idx: Monster race index (number)
- d_char: Default monster character (number)
- sval: sval (???) (number)
- ego: Ego monster type (number)
- fy: Y Location in the map (number)
- fx: X Location in the map (number)
- hp: Current hit points (number)
- maxhp: Max hit points (number)
- blow: Blows per round (flags_type)
- speed: Speed (normally 110) (number)
- level: Level of creature (number)
- ac: Armour class (number)
- exp: Experience
- csleep: Inactive counter (???) (number)
- mspeed: Monster "speed" (number)
- energy: Monster "energy" (number)
- stunned: Monster is stunned (number)
- confused: Monster is confused (number)
- monfear: Monster is scared (number)
- freq_inate: Monster inate spell frecuency (number)
- freq_spell: Other spell frecuency (number)
- flags: Monster flags (flags_type)
- spells: spells (flags_type)
- bleeding: Monster is bleeding (number)
- poisoned: Monster is poisoned (number)
- cdis: Current dis(tance?) from player (number)
- mflag: Extra monster flags (number)
- ml: Monster is "visible" (boolean)
- inventory: Object being held (If any) (flags_type)
- ai: Current AI state (number)
- ai_states (flags_type)
- ai_speed
- ai_action
- ai_move_y
- ai_moxe_x
- smart: Field for "smart_learn"
- faction: Faction the monster belongs to (number)
- target: Monster target (number)
- possessor: Is it under the control of a possesor? (number)
Functions
monster_desc(monster, mode): Build a string describing a monster in some way. monster is a monster_type structure identifying the monster. mode determines how to build the thing.
Mode Flags:
0x01 --> Objective (or Reflexive)
0x02 --> Possessive (or Reflexive)
0x04 --> Use indefinites for hidden monsters ("something")
0x08 --> Use indefinites for visible monsters ("a kobold")
0x10 --> Pronominalize hidden monsters
0x20 --> Pronominalize visible monsters
0x40 --> Assume the monster is hidden
0x80 --> Assume the monster is visible
0x100 --> Ignore insanity
0x200 --> No article
Useful Modes:
0x00 --> Full nominative name ("the kobold") or "it"
0x04 --> Full nominative name ("the kobold") or "something"
0x80 --> Genocide resistance name ("the kobold")
0x88 --> Killing name ("a kobold")
0x22 --> Possessive, genderized if visible ("his") or "its"
0x23 --> Reflexive, genderized if visible ("himself") or "itself"
Terminal
Functions
term.gotoxy(row, col): Moves the cursor to the specified location.
term.addstr(n, a, s): Prints the string s in the current cursor position using a as atribute (color) and prints as most n characters. If you pass n as -1 then the function tries to use as much as possible.
term.inkey(): Reads a keypress and returns it as a number. Example:
key = term.inkey()
char = strchar(key)
if char == 'a' then
-- do something
elseif key == ESCAPE then
-- exit
...
end
ToME Wiki