EmielRegis said:Syke said:I was wanting to implement a very basic magic system in my game. I activated one of the reserve skill slots to implement a new governing skill. I was then hoping to input items that used this skill as their 'difficulty' check. Is there any way to do this? Can I create a new item type? Ideally, I'd like to have some 'thrown' spells and some 'self' spells (probably just using the victory animation). Is this feasible? Any advice would be much appreciated.
Its perfectly possible with existing item types. There are some fantasy mods with spells. Usually spell is just heavly modifed throwing weapon or simmilar.
k0nr@d said:Does anybody know what the correlation between shield's mesh and shield's size in the game is?
def shield_width(x): #actually radius or half-width
return weapon_length(x)
def shield_height(x):
return shoot_speed(x)
there are many ways to do this, considering it is a hack (non standard) code. For a magic skill I would add a new shortcut to equip a special item (your throwable weapon that looks like a fire ball or something), and the trigger for that shortcut would test your skill level.Syke said:How would one modify a throwing weapon to require an additional skill
(
"german", 0,
"man_body", "man_calf_l", "m_handL",
"male_head", german_face_keys,
["pricha_akuratnaya_a","pricha_akuratnaya_short_a","pricha_zachesanaya_a","man_hair_y12","man_hair_y10","man_hair_y9","man_hair_r","man_hair_y8","man_hair_y2","man_hair_y","man_hair_y4","man_hair_y5","man_hair_n","man_hair_o","man_hair_q","man_hair_s","kozak_chub1","kozak_chub2","kozak_chub3","kozak_chub4","man_hair_y3","pricha_gorshok_a","man_hair_m","man_hair_y12","man_hair_y11","man_hair_y10","man_hair_y4","man_hair_y2","man_hair_u","h_simplest","h_bbeards","h_buckli","h_smalltail","a_la_garde","a_la_garde_v2","a_la_hussard","a_la_hussard_v2","a_la_russe","a_la_russian_grenadier","a_la_sans_culotte","a_la_sans_culotte_v2"], #shved,moskow,kozak,pol,ttr
["ewropa_vusa_a","beard_u","beard_a","beard_s","beard_h","beard_p","beard_o","beard_i","beard_g","beard_n","beard_j","beard_z","beard_y","beard_v","beard_u","beard_t","beard_q","beard_e","beard_d","beard_c","beard_b","beard_m","ewropa_vusa_a","beard_r","beard_b","beard_f","beard_k","beard_l","accessory_glasses_simple","accessory_monocle","accessory_cigar_simple","accessory_pipe_simple","accessory_pipe_russian","accessory_eyepatch_simple","accessory_grashalm_simple","accessory_flower_daisy","accessory_Rich_german_pipe_3"], #beard meshes ,"beard_q", #shved,moskow,kozak,pol,ttr
["hair_blonde", "hair_red", "hair_brunette", "hair_black", "hair_white"], #hair textures
["beard_blonde","beard_red","beard_brunette","beard_black","beard_white"], #beard_materials
[("manface_young_2",0xffcbe0e0,["hair_blonde"],[0xffffffff, 0xffb04717, 0xff502a19]),
("manface_midage",0xffdfefe1,["hair_blonde"],[0xffffffff, 0xffb04717, 0xff632e18, 0xff502a19, 0xff19100c]),
("manface_young",0xffd0e0e0,["hair_blonde"],[0xff83301a, 0xff502a19, 0xff19100c, 0xff0c0d19]),
# ("manface_old",0xffd0d0d0,["hair_white","hair_brunette","hair_red","hair_blonde"],[0xffffcded, 0xffbbcded, 0xff99eebb]),
("manface_young_3",0xffdceded,["hair_blonde"],[0xff2f180e, 0xff171313, 0xff007080c]),
("manface_7",0xffc0c8c8,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_midage_2",0xfde4c8d8,["hair_blonde"],[0xff502a19, 0xff19100c, 0xff0c0d19]),
("manface_rugged",0xffb0aab5,["hair_blonde"],[0xff171313, 0xff007080c]),
# ("manface_young_4",0xffe0e8e8,["hair_blonde"],[0xff2f180e, 0xff171313, 0xff007080c]),
("manface_asian1",0xffe3e8e1,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_asian2",0xffe3e8e1,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_asian3",0xffbbb6ae,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_mideast1",0xffaeb0a6,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_mideast2",0xffd0c8c1,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_mideast3",0xffe0e8e8,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_black1",0xff87655c,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_black2",0xff5a342d,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_black3",0xff634d3e,["hair_blonde"],[0xff171313, 0xff007080c]),
("manface_white1",0xffe0e8e8,["hair_blonde"],[0xffffffff, 0xffb04717, 0xff632e18, 0xff502a19, 0xff19100c]),
("manface_white2",0xffe0e8e8,["hair_blonde"],[0xffffffff, 0xffb04717, 0xff632e18, 0xff502a19, 0xff19100c, 0xff0c0d19]),
("manface_white3",0xffe0e8e8,["hair_blonde"],[0xff83301a, 0xff502a19, 0xff19100c, 0xff0c0d19]),
("manface_african",0xff807c8a,["hair_blonde"],[0xff120808, 0xff007080c]),
# ("manface_old_2",0xffd5d5c5,["hair_white"],[0xffffcded, 0xffbbcded, 0xff99eebb]),
], #man_face_textures,
[(voice_die,"snd_man_die"),(voice_hit,"snd_man_hit"),(voice_grunt,"snd_man_grunt"),(voice_grunt_long,"snd_man_grunt_long"),(voice_yell,"snd_man_yell2"),(voice_stun,"snd_man_stun"),(voice_victory,"snd_man_victory")], #voice sounds
"skel_human", 1.0,
psys_game_blood,psys_game_blood_2,
[[1.6, comp_greater_than, (1.0,eye_to_eye_dist), (1.0,temple_width)], #constraints: ex: 1.7 > (face_width + temple_width)
[0.6, comp_less_than, (1.0,eye_to_eye_dist), (1.0,temple_width)],
[1.5, comp_greater_than, (1.0,face_ratio), (1.0,mouth_width)], # face ratio and mouth to nose distance
[0.6, comp_greater_than, (-1.0,nose_width), (1.0,mouth_width)], # nose height and mouth to nose distance
[-1.0, comp_less_than, (-1.0,nose_width), (1.0,mouth_width)], # nose height and mouth to nose distance
]
),
That is what I am actually asking about, e.g. diameter 100 in the game should corresponds to diameter 100 of actual mesh. Because in Native most of the time is not, e.g.:kalarhan said:...
Unless you wanted a shield having a invisible defensive area you should keep the mesh/area similar.
...
AFAIR, the area of coverage increases with shield skill.k0nr@d said:That is what I am actually asking about, e.g. diameter 100 in the game should corresponds to diameter 100 of actual mesh. Because in Native most of the time is not, e.g.:
shield_round_a - in game 100, actual mesh ~67
shield_round_e - in game 79, actual mesh ~62
It should be 1:1, or there is a constants/function, which translates actual mesh size to value used in the game? Or authors just simply put some semi-random, approximate numbers.
maater66241 said:Did WRECK have anything to do with the problem?
export_dir = ""
Pruvan said:Alternatively, there's supposedly a mechanic that allows lame horses to heal in your inventory after a certain amount of time.
Jacobhinds said:Horse crippling is, inexplicably, hardcoded.
kalarhan said:maater66241 said:Did WRECK have anything to do with the problem?
nope. Try to compile once on your module folder to check your permissions (as the machine admin).
Code:export_dir = ""
if you can't compile even there... move your folder to your desktop and try again.
(store_trigger_param_1, ":player_agent"),
(store_skill_level, ":skill_level", skl_leadership, ":player_agent"),
(assign, reg0, ":skill_level"),
(display_message, "@Skill: {reg0}", 0xCCCCCC),
(store_trigger_param_1, ":player_agent"),(store_skill_level, ":skill_level", "skl_reserved_1", ":player_agent"),
(assign, reg1, ":skill_level"),
(display_message, "@Skill: {reg1}", 0xCCCCCC)
["test_axe", "Test Axe", [("we_nor_axe_hedmarkox_tveirhendr",0)], itp_type_two_handed_wpn|itp_merchandise| itp_two_handed|itp_primary|itp_bonus_against_shield|itp_wooden_parry, itc_nodachi|itcf_carry_axe_back,142,weight(4.5)|abundance(100)|difficulty(8)|spd_rtng(99)|weapon_length(93)|swing_damage(37,cut)|thrust_damage(0,pierce),imodbits_axe,[(ti_on_weapon_attack, [(store_trigger_param_1, ":player_agent"),(store_skill_level, ":skill_level", "skl_reserved_1", ":player_agent"),(assign, reg1, ":skill_level"),(display_message, "@Skill: {reg1}", 0xCCCCCC)])],[fac_kingdom_4,fac_player_faction]],
maater66241 said:I feel like I'm doing something very wrong...
Code:export_dir = ""
store_skill_level = 2170 # (store_skill_level, <destination>, <skill_id>, [troop_id]),
# Stores current value of troop skill. See header_skills.py for reference.
as said above you need to read the operation documentation (header_operations.py). If you use the wrong parameter it will give you the wrong answer. See how the operation above is asking for troop_idNameless Warrior said:Any skill reads draw from the troop id and not the agent.