diff --git a/README.md b/README.md index 6bd9a60..8403938 100755 --- a/README.md +++ b/README.md @@ -4,12 +4,15 @@ **NOTE:** This is Blockmen's [CME Ghost][8] mob ported to Mobs Redo, and tweaked. -**Version:** 0.6.0 +**Version:** 0.7.0 **Source code's license:** [EUPL v1.2][1] or later. **Media (Textures, Models, Sounds) license:** [CC-BY-SA 4.0 International][2]. **Dependencies:** default, bones (found in [Minetest Game][3]), mobs ([Mobs Redo][4]) -**Supported:** [mobs_humans][5], [mobs_others][6], [moreores][7] +**Supported:** [mobs_humans][5], [mobs_others][6], [moreores][7] + +__Advanced options:__ +Settings -> All Settings -> Mods -> mobs_ghost_redo ### Installation diff --git a/changelog.md b/changelog.md index d346093..e17b6cf 100755 --- a/changelog.md +++ b/changelog.md @@ -10,6 +10,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/). - no other features planned +## [0.7.0] - 2019-10-31 +### Added + + - Option to choose if ghosts can be hurt only by metal or crystal swords + (false by default). + - Drop gold lump, min 1, max 5, chance 1 on 100. + +### Modified + + - Default hit points range from 10 to 20, in harder mode from 20 to 30. + - By default no longer immune to anything but swords, save in harder mode. + + + ## [0.6.0] - 2019-10-17 ### Added diff --git a/init.lua b/init.lua index 3bb311d..6d8f962 100755 --- a/init.lua +++ b/init.lua @@ -1,6 +1,6 @@ --[[ Mobs Ghost Redo - Adds ghosts. - Copyright © 2018-2019 Hamlet + Copyright © 2018, 2019 Hamlet and contributors. Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission – subsequent versions of the @@ -33,6 +33,7 @@ local S = minetest.get_translator("mobs_ghost_redo") local ghost_daytime_check = minetest.settings:get_bool("mobs_ghost_redo_daytime_check") local ghost_bones_only = minetest.settings:get_bool("mobs_ghost_redo_bones_only") +local ghost_difficulty = minetest.settings:get_bool("mobs_ghost_redo_difficulty") if (ghost_daytime_check == nil) then ghost_daytime_check = false @@ -42,6 +43,9 @@ if (ghost_bones_only == nil) then ghost_bones_only = false end +if (ghost_difficulty == nil) then + ghost_difficulty = false +end local SPAWNING_NODES = {} local SPAWNING_CHANCE = 0 @@ -106,8 +110,8 @@ end mobs:register_mob("mobs_ghost_redo:ghost", { type = "monster", - hp_min = 20, - hp_max = 30, + hp_min = 10, + hp_max = 20, armor = 100, walk_velocity = 1, run_velocity = 4, @@ -124,16 +128,6 @@ mobs:register_mob("mobs_ghost_redo:ghost", { group_attack = true, attack_type = "dogfight", blood_amount = 0, - immune_to = { - {"all"}, - {"default:sword_steel", 6}, - {"default:sword_bronze", 6}, - {"default:sword_mese", 7}, - {"mobs_others:sword_obsidian", 7}, - {"default:sword_diamond", 8}, - {"moreores:sword_silver", 12}, - {"moreores:sword_mithril", 9} - }, makes_footstep_sound = false, sounds = { random = "mobs_ghost_redo_ghost_1", @@ -142,6 +136,9 @@ mobs:register_mob("mobs_ghost_redo:ghost", { damage = "mobs_ghost_redo_ghost_hit", death = "mobs_ghost_redo_ghost_death", }, + drops = { + {name = "default:gold_lump", chance = 100, min = 1, max = 5} + }, visual = "mesh", visual_size = {x = 1, y = 1}, collisionbox = {-0.3, -0.5, -0.3, 0.3, 1.5, 0.3}, @@ -151,29 +148,46 @@ mobs:register_mob("mobs_ghost_redo:ghost", { stand_start = 0, stand_end = 80, stand_speed = 15, - walk_start = 102, - walk_end = 122, - walk_speed = 12, - run_start = 102, - run_end = 122, - run_speed = 10, - fly_start = 102, - fly_end = 122, - fly_speed = 12, - punch_start = 102, - punch_end = 122, - punch_speed = 25, - die_start = 81, - die_end = 101, - die_speed = 28, - die_loop = false, + walk_start = 102, + walk_end = 122, + walk_speed = 12, + run_start = 102, + run_end = 122, + run_speed = 10, + fly_start = 102, + fly_end = 122, + fly_speed = 12, + punch_start = 102, + punch_end = 122, + punch_speed = 25, + die_start = 81, + die_end = 101, + die_speed = 28, + die_loop = false, }, on_spawn = function(self, pos) + if (ghost_difficulty == true) then + self.health = math.random(20, 30) + + self.immune_to = { + {"all"}, + {"default:sword_steel", 6}, + {"default:sword_bronze", 6}, + {"default:sword_mese", 7}, + {"mobs_others:sword_obsidian", 7}, + {"default:sword_diamond", 8}, + {"moreores:sword_silver", 12}, + {"moreores:sword_mithril", 9} + } + end + self.spawned = true self.mesh = random_mesh() self.counter = 0 self.object:set_properties({ + health = self.health, + immune_to = self.immune_to, spawned = self.spawned, mesh = self.mesh, counter = self.counter, @@ -278,10 +292,6 @@ mobs:register_egg("mobs_ghost_redo:ghost", S("Ghost Spawner"), mobs:alias_mob("mobs:ghost", "mobs_ghost_redo:ghost") --- --- Minetest engine debug logging --- - -- -- Minetest engine debug logging -- @@ -291,5 +301,5 @@ or (minetest.settings:get("debug_log_level") == "action") or (minetest.settings:get("debug_log_level") == "info") or (minetest.settings:get("debug_log_level") == "verbose") then - minetest.log("action", "[Mod] Mobs Ghost Redo [v0.6.0] loaded.") + minetest.log("action", "[Mod] Mobs Ghost Redo [v0.7.0] loaded.") end diff --git a/settingtypes.txt b/settingtypes.txt index 4ff2eb0..2f3c602 100755 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -1,12 +1,17 @@ -# Use the daytime check instead of light damage +# ENG: Use the daytime check instead of light damage # to despawn ghosts? (runs every 15secs) # -# Usare il controllo del giorno invece del +# ITA: Usare il controllo del giorno invece del # ferimento da luce per fare scomparire i fantasmi? # (eseguito ogni 15sec) mobs_ghost_redo_daytime_check (Ghosts' Daytime Check) bool false -# Whether if ghosts must be spawned from bones only. +# ENG: Whether if ghosts must be spawned from bones only. # -# Se i fantasmi devono comparire solo dalle ossa. -mobs_ghost_redo_bones_only (Ghosts from bones only) bool false \ No newline at end of file +# ITA: Se i fantasmi devono comparire solo dalle ossa. +mobs_ghost_redo_bones_only (Ghosts from bones only) bool false + +# ENG: Whether if ghosts can be hurt only by swords (metal or crystal) +# +# ITA: Se i fantasmi possono essere feriti solo da spade (metallo o cristallo) +mobs_ghost_redo_difficulty (Only swords hurt ghosts) bool false