5.3 Yeni bir nesne/silah yaratmak
"practice_sword" tuple'ını kopyalayıp sayfanın en altına, köşeli ayraçtan "]" önce olmak suretiyle yapıştırınız. Bunu yaptıktan sonra, bu yeni tuple'ın adını(item name) ve kimliğini(item id) "new_mace" olarak değiştiriniz.
["new_mace","new_mace", [("practice_sword",0)], itp_type_one_handed_wpn|itp_melee|itp_primary|itp_secondary, itc_longsword, 3,weight(1.5)|spd_rtng(103)|weapon_length(90)|swing_damage(16,blunt)|thrust_damage(10,blunt),imodbits_none],
M&B'nin nesne sistemi çok esnektir; bir kılıcı gürze (mace) dönüştürmek sadece bir kaç ayar gerektirir. "practice_sword" tuple'ı halihazırda kör zarar(blunt damage) olarak ayarlanmış. Bu bizim işimizi daha kolay hale getiriyor.
Öncelikle, yeni gürzümüzün nesne özelliklerini "itc_longsword" 'dan "itc_scimitar" 'a değiştiriyoruz. Bu gürzümüzün saplama özelliğini kaybetmesini sağlayacaktır, çünkü M&B 'in saplama animasyonu "itc_scimitar" sabitinde bulunmamaktadır.
["new_mace","new_mace", [("practice_sword",0)], itp_type_one_handed_wpn|itp_melee|itp_primary|itp_secondary, itc_scimitar, 3,weight(1.5)|spd_rtng(103)|weapon_length(90)|swing_damage(16,blunt)|thrust_damage(10,blunt),imodbits_none],
Şimdi nesnenin mesh'ini "practice_sword" 'dan "mace_pear" 'a değiştireceğiz. Bu mesh Native'de kullanılmayan bir mesh, böylece gürzümüze yeni bir görünüm kazandırmış olacağız.
["new_mace","new_mace", [("mace_pear",0)], itp_type_one_handed_wpn|itp_melee|itp_primary|itp_secondary, itc_scimitar, 3,weight(1.5)|spd_rtng(103)|weapon_length(90)|swing_damage(16,blunt)|thrust_damage(10,blunt),imodbits_mace],
Bu örnekte, mesh'i planladığımız gibi değiştirdik ve ayrıca niteleyici parçalarını(modifier bits) imodbits_none 'dan imodbits_mace'e değiştirdik. Bu gürzümüzün dosyanın en başındaki imodbits_mace sabitinde belirtilmiş bütün niteleyicileri(modifiers) kullanamsını sağlar.
Bu nesneyi tamamlamamız için yapacağımız iki değişiklik daha var. Özellikle, nesnemizin savurma zararını(swing damage) arttıracağız ve bir nesne bayrağı(item flag) ekleyeceğiz.
İnceleme:
["new_mace","new_mace", [("mace_pear",0)], itp_type_one_handed_wpn|itp_melee|itp_primary|itp_secondary|itp_unique, itc_scimitar, 3,weight(1.5)|spd_rtng(103)|weapon_length(90)|swing_damage(26,blunt)|thrust_damage(10,blunt),imodbits_mace],
Gördüğünüz gibi, savurma zararını(swing damage) 16'dan 26'ya yükselttik, bu gürzümüzün daha iyi vurmasını sağlayarak savaşta daha teklikeli olmasını sağlayacaktır. Ve daha da önemlisi, Bayraklar(flags) alanına itp_unique bayrağını(flag) ekledik. itp_unique 'e sahip bi nesne savaş sonrasında ganimet olarak alınamaz.
Son değişikliğimiz için, nesne adını "new_mace" yerine "Geoffrey's_mace" olarak değiiştiriniz. Sonra, module_trooops.py dosyasını açın ve Geoffrey'in envanterindeki(inventory) itm_club 'ı itm_new_mace 'le değiştirin.
İki dosyada da yaptıklarınızı kaydedip build_module.bat 'a tıklayın.
Tebrikler! Yeni bir nesne yaratıp takım/asker envanterine(troop's inventory) eklediniz. Bahsi geçen takım/asker bi kahraman(hero), böylelikle yeni gürz sürekli envanterinde bulunacak ve envanterinde bulunup kullanabildiği en iyi silahı kullanacaktır.
Öte yandan sıradan askerler envanter listelerinden rasgele bir silah seçerler. Bu kadar çok çeşitli silahla karşımıza çıkmalarının sebebi de budur -- böyle olmasaydı hep aynı şekilde olurlardı.
Yeni nesneleri nasıl yaratacağımızı artık biliyoruz, daha çok çeşitli istatistiklere bakarak ne anlama geldiklerini anlayabiliriz.